var aDOM = 0, ieDOM = 0, nsDOM = 0; 
var stdDOM = document.getElementById;

if (stdDOM) aDOM = 1; 
else {
	ieDOM = document.all; 
	if (ieDOM) aDOM = 1; 
	else {
		var nsDOM = ((navigator.appName.indexOf('Netscape') != -1) && (parseInt(navigator.appVersion) ==4)); 
		if (nsDOM) aDOM = 1;
	}
}

function xDOM(objectId, wS) {
	if (stdDOM)return wS ? document.getElementById(objectId).style:document.getElementById(objectId);
	if (ieDOM) return wS ? document.all[objectId].style: document.all[objectId];
	if (nsDOM) return document.layers[objectId];
}

function objWidth(objectID) {
	var obj = xDOM(objectID,0); 
	if(obj.offsetWidth) return obj.offsetWidth; 
	if (obj.clip) return obj.clip.width;
	return 0;
}

function objHeight(objectID) {
	var obj = xDOM(objectID,0); 
	if(obj.offsetHeight) return obj.offsetHeight; 
	if (obj.clip) return obj.clip.height; 
	return 0;
}

function setObjVis(objectID,vis) {
	var objs = xDOM(objectID,1); 
	objs.visibility = vis;
}

function moveObjTo(objectID,x,y) {
	var objs = xDOM(objectID,1); 
	objs.left = x; objs.top = y;
}

function pageWidth() {return window.innerWidth != null? window.innerWidth: document.body != null? document.body.clientWidth:null;}

function pageHeight() {return window.innerHeight != null? window.innerHeight: document.body != null? document.body.clientHeight:null;}

function posLeft() {return typeof window.pageXOffset != 'undefined' ? window.pageXOffset:document.documentElement.scrollLeft? document.documentElement.scrollLeft:document.body.scrollLeft? document.body.scrollLeft:0;}

function posTop() {return typeof window.pageYOffset != 'undefined' ? window.pageYOffset:document.documentElement.scrollTop? document.documentElement.scrollTop: document.body.scrollTop?document.body.scrollTop:0;}

var xStart = yStart = 0; 
var xEnd = yEnd = 0;
var dist = distX = distY = 0; 
var stepx = 2;
var stepy = 2;
var msg = 'message';
var speed = 6;
var objW = 0;
var objH = 0;

function distance(start,end) {return Math.abs(start - end)}

function direction(start,end) {return start>end?-1:1}

function rate(a,b) {return a<b?a/b:1}

function start() {
	objW = objWidth(msg);
	objH = objHeight(msg);
	xStart = -objW - 10;	//message starting X position
	yStart = pageHeight() - objHeight(msg) - 4; 		//message starting Y position
	//document.write('objWidth = ' + objW + ', objHeight = ' + objH);
	//document.write('pageWidth = ' + pageWidth() + ', pageHeight = ' + pageHeight());
	//document.write('xStart = ' + xStart + ', yStart = ' + yStart);
	xEnd = 0;				//message ending X position
	yEnd = yStart;															//message ending Y position
	//document.write('xEnd = ' + xEnd + ', yEnd = ' + yEnd);
	dist = distX = distance(xStart,xEnd); 
	distY = distance(yStart,yEnd); 
	stepx *= direction(xStart,xEnd) * rate(distX,distY); 
	stepy *= direction(yStart,yEnd) * rate(distY,distX); 
	moveit();
	setObjVis(msg,'visible');
	mover();
}

function moveit() {
	var x = (posLeft() + xStart) + 'px'; 
	var y = (posTop() + yStart) + 'px'; 
	moveObjTo(msg,x,y);
}

function mover() {
	if (dist > 0) {
		xStart += stepx; 
		yStart += stepy; 
		dist -= Math.abs(stepx);
	} 
	moveit(); 
	setTimeout('mover()',speed);
}

function moveback() {
	dist = distX; 
	stepx = -stepx; 
	moveit(); 
	setTimeout('mover()',speed/2);
}

window.onload = start;
window.onscroll = moveit;