//Default browsercheck for this script
function lib_bwcheck() {
	this.ver=navigator.appVersion;
	this.agent=navigator.userAgent;
	this.dom=document.getElementById?1:0;
	this.opera5=(navigator.userAgent.indexOf("Opera")>-1 && document.getElementById)?1:0;
	this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom && !this.opera5)?1:0; 
	this.ie6=(this.ver.indexOf("MSIE 6")>-1 && this.dom && !this.opera5)?1:0;
	this.ie4=(document.all && !this.dom && !this.opera5)?1:0;
	this.ie=this.ie4||this.ie5||this.ie6;
	this.mac=this.agent.indexOf("Mac")>-1;
	this.ns6=(this.dom && parseInt(this.ver) >= 5) ?1:0; 
	this.ns4=(document.layers && !this.dom)?1:0;
	this.bw=(this.ie6 || this.ie5 || this.ie4 || this.ns4 || this.ns6 || this.opera5);
	return this;
}
var bw=lib_bwcheck();

// set DynUnderline variables
numItems = 5; 		// number of menu items

circleXstart = 11;	// circles start and end x position
circleYstart = 113; // circles start and end y position
circleXoffset = 5;	// offset between buttons X position and circles X position
circleYoffset = 14;	// offset between buttons Y position and circles Y position
circlePXspeed = 5;	// pixels the circle will move per timeout
circleTspeed = 10;	// timeout speed in milliseconds
circleStay = 0;		// 0 = return to default on click, 1 = remain under current

// Cross-browser object part... DON'T TOUCH
function makeObj(obj,nest,x,y) {
	nest = (!nest)?"":'document.'+nest+'.';
	this.css = bw.dom? document.getElementById(obj).style:bw.ie4?document.all[obj].style:bw.ns4?eval(nest+'document.' +obj):0;
	this.evnt = bw.dom? document.getElementById(obj):bw.ie4?document.all[obj]:bw.ns4?this.css:0;
	this.showIt = b_showIt;
	this.moveIt = b_moveIt;
	this.slide = b_slide;
	this.slideIt = b_slideIt;
	this.obj = obj + "Object";
	eval(this.obj + "=this");
	return this;
}


// A unit of measure that will be added when setting the position of a layer.
var px = bw.ns4||window.opera?"":"px";

function b_moveIt(x,y){this.x=x; this.y=y; this.css.left=this.x+px; this.css.top=this.y+px;}
function b_showIt(){this.css.visibility="visible"}
function b_slideIt(endx,endy,inc,speed,fn,wh) {
	if (!this.slideactive) {
		var distx = endx - this.x;
		var disty = endy - this.y;
		var num = Math.sqrt(Math.pow(distx,2) + Math.pow(disty,2))/inc;
		var dx = distx/num;
		var dy = disty/num;
		this.slideactive = 1;
		this.slide(dx,dy,endx,endy,speed,fn,wh);
	}
}

function b_slide(dx,dy,endx,endy,speed,fn,wh) {
	if (!fn) fn = null;
	if (!wh) wh = null;
	if (this.slideactive && (Math.floor(Math.abs(dx))<Math.floor(Math.abs(endx-this.x)) || 	Math.floor(Math.abs(dy))<Math.floor(Math.abs(endy-this.y)))) {
		this.moveIt(this.x+dx,this.y+dy);
		eval(wh);
		slidTim = setTimeout(this.obj+".slide("+dx+","+dy+","+endx+","+endy+","+speed+",'"+fn+"','"+wh+"')",speed);
	}
	else{
		this.slideactive = 0;
		this.moveIt(endx,endy);
		eval(fn);
	}
}

// Begin init function: establishes button placement
function slideballInit() {
	oBut = new Array();
	for (var i=0; i<=numItems; i++) {
		oBut[i] = new makeObj('divButton'+i);
	}
	oCircle = new makeObj('divCircle')
	
	//Set the placement of each individual button below.
	//Syntax: oBut[num].moveIt(xplacement,yplacement)
	oBut[0].moveIt(-1,113);
	oBut[1].moveIt(75,99);
	oBut[2].moveIt(126,99);
	oBut[3].moveIt(188,99); 
	oBut[4].moveIt(253,99);
	oBut[5].moveIt(304,113);
	oCircle.moveIt(circleXstart,circleYstart);
	//Showing the buttons
	for(var i=0; i<=numItems; i++){
		oBut[i].showIt();
		oCircle.showIt();
	}
}

// Mouseover and mouseout functions.
var slidTim = 100;
var active = -1;
function sbmover(num) {
	clearTimeout(slidTim);
	if (num == 1) {
		tempXoffset = circleXoffset;
		circleXoffset = eval(tempXoffset) - 12;
	}
	if (num == 3) {
		tempXoffset = circleXoffset;
		circleXoffset = eval(tempXoffset) + 1;
	}
	oCircle.slideactive = false;
	oCircle.slideIt(oBut[num].x+circleXoffset,oBut[num].y+circleYoffset,circlePXspeed,circleTspeed);
	if (num == 1) {
		tempXoffset = circleXoffset;
		circleXoffset = eval(tempXoffset) + 12;
	}
	if (num == 3) {
		tempXoffset = circleXoffset;
		circleXoffset = eval(tempXoffset) - 1;
	}
}
function sbmout(num) {
	clearTimeout(slidTim);
	oCircle.slideactive = false;
	if (active>-1 && circleStay) oCircle.slideIt(oBut[active].x+circleXoffset,oBut[active].y+circleYoffset,circlePXspeed,circleTspeed);
	else oCircle.slideIt(circleXstart,circleYstart,circlePXspeed,circleTspeed);
}
function changeListing(num) {
	active = num;
}

//Starting the script when the balls load.
if(bw.bw) onload = slideballInit;