
function lib_bwcheck(){ //Browsercheck (needed)
	this.ver=navigator.appVersion
	this.agent=navigator.userAgent
	this.dom=document.getElementById?1:0
	this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom)?1:0;
	this.ie6=(this.ver.indexOf("MSIE 6")>-1 && this.dom)?1:0;
	this.ie4=(document.all && !this.dom)?1:0;
	this.ie=this.ie4||this.ie5||this.ie6
	this.mac=this.agent.indexOf("Mac")>-1
	this.opera5=this.agent.indexOf("Opera 5")>-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 || this.dom)
	return this
}
var bw=new lib_bwcheck()


//Variables to set
numItems=4 //How many menuitems do you want?

circleXstart=12 //Where should the circle start and end, x position
circleYstart=32 //Where should the circle start and end, y position
circleXoffset=-20	//The offset between the buttons X position and the circles X position on mouseover
circleYoffset=-40 //The offset between the buttons Y position and the circles Y position on mouseover

circlePXspeed=10 //How many pixels the circle will move per timeout
circleTspeed=10 //Timeout speed in milliseconds

circleStay=1 //Set this to 0 if you don't want the circle to stay on the active link when a link is clicked.

//NOTE: To set the placement of the buttons, see the slideball_init() function!

/****************************************************************************
Cross-browser object part...You should not need to edit anything this
part.
****************************************************************************/
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;
}

function b_showIt()
{
	this.css.visibility="visible";
}

function b_moveIt(x,y)
{
	this.x=x;
	this.y=y;
	this.css.left=this.x;
	this.css.top=this.y;
}

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;
		cambia('divCircle','pajaro','paj2')
		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);
		cambia('divCircle','pajaro','paj1')
		eval(fn);
	}
}

/****************************************************************************
The init function. This is where you set the placement of the Buttons.
****************************************************************************/
function slideball_init(){
	oBut=new Array()
	for(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(25,100) 
	oBut[1].moveIt(25,125)
	oBut[2].moveIt(25,150)
	oBut[3].moveIt(25,175)
	oBut[4].moveIt(25,200)
	oCircle.moveIt(circleXstart,circleYstart)
	//Showing the buttons
	for(i=0;i<=numItems;i++){
		oBut[i].showIt()
	}
}


/****************************************************************************
Mouseover and mouseout functions.
****************************************************************************/
var slidTim=100;
var active=-1
function sbmover(num){
	clearTimeout(slidTim)
	oCircle.slideactive=false
	oCircle.slideIt(oBut[num].x+circleXoffset,oBut[num].y+circleYoffset,circlePXspeed,circleTspeed)
}
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=slideball_init;

