
function lib_bwcheck(){ 
	this.ver=navigator.appVersion
	this.agent=navigator.userAgent
	this.dom=document.getElementById?1:0
	this.opera5=this.agent.indexOf("Opera 5")>-1
	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.ie7=(this.ver.indexOf("MSIE 7")>-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.ie7
	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.ie7 || this.ie6 || this.ie5 || this.ie4 || this.ns4 || this.ns6 || this.opera5)
	return this
}
var bw=new lib_bwcheck();
var speed = 30;
var loop, timer;

//Object constructor
function makeObj(obj,nest){
    nest=(!nest) ? "":'document.'+nest+'.'
	this.el=bw.dom?document.getElementById(obj):bw.ie4?document.all[obj]:bw.ns4?eval(nest+'document.'+obj):0;
  	this.css=bw.dom?document.getElementById(obj).style:bw.ie4?document.all[obj].style:bw.ns4?eval(nest+'document.'+obj):0;
	this.scrollHeight=bw.ns4?this.css.document.height:this.el.offsetHeight
	this.clipHeight=bw.ns4?this.css.clip.height:this.el.offsetHeight
	this.up=goUp;
	this.down=goDown;
	this.moveIt=moveIt; this.x=0; this.y=0;
    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 moveIt(x,y){
	this.x = x
	this.y = y
	this.css.left = this.x+px
	this.css.top = this.y+px
}

//go up
function goDown(move){
	//alert(this.el.id)
	//alert(this.scrollHeight)
	//alert(oCont.clipHeight)
	if(this.el.id=="drag")
	{
		//alert(oCont.clipHeight)
		//alert("DW "+this.y+" "+(this.y+move))
		if (this.y+move<oCont.clipHeight-48)
		{
			this.moveIt(0,this.y+move)
			if (loop) setTimeout(this.obj+".down("+move+")",speed)
		}
		else
			this.moveIt(0,oCont.clipHeight-48);
	}
	else
	{
		if (this.y>-this.scrollHeight+oCont.clipHeight){
			this.moveIt(0,this.y-move)
			if (loop) setTimeout(this.obj+".down("+move+")",speed)
		}
	}
}
//go down
function goUp(move){
	if(this.el.id=="drag")
	{
		//alert(this.el.id)
		//alert("UP "+this.y+" "+(this.y-move))
		if (this.y-move>0)
		{
			this.moveIt(0,this.y-move)
			if (loop) setTimeout(this.obj+".up("+move+")",speed)
		}
		else
			this.moveIt(0,0);
	}
	else
	{
		if (this.y<0){
			this.moveIt(0,this.y-move)
			if (loop) setTimeout(this.obj+".up("+move+")",speed)
		}
	}
}

//scrolling funciones. 
function scroll(speed){
	
	if (scrolltextLoaded){
		dOff = dragOffset(speed);
		loop = true;
		if (speed>0) 
		{
			oScroll.down(speed);
			oDrag.down(dOff);
		}
		else
		{
			oScroll.up(speed);
			oDrag.up(dOff);
		}
	}
}

function dragOffset(speed)
{
	sh=oScroll.scrollHeight;
	ch=oCont.clipHeight;
	num = Math.floor(sh/Math.abs(speed*2));
	off = Math.ceil(ch/num);
	//alert(sh+" "+ch+" "+speed)
	//return 6
	return Math.ceil(off-1);
}

//Stops 
function noScroll(){
	loop = false
	if (timer) clearTimeout(timer)
}
// object
var scrolltextLoaded = false
function scrolltextInit(){
	oCont = new makeObj('contenedortexto');
	oScroll = new makeObj('texto','contenedortexto');
	oDrag = new makeObj('drag');
	oScroll.moveIt(0,0);
	oCont.css.visibility = "visible";
	scrolltextLoaded = true;
	if(document.getElementById("texto").offsetHeight>410)
		document.getElementById("scrollbar").style.visibility = "visible";
}
//
if (bw.bw) onload = scrolltextInit



