var dom = document.getElementById ? true:false;
var nn4 = document.layers ? true:false;
var ie4 = document.all ? true:false;
var RatonY;
var RatonX; 
var ClickArriba = false;
var ClickAbajo = false; 
var posiscroll = false; 
var clickAbove = false; 
var clickBelow = false; 
var timer = setTimeout("",500);
var ArribaIzquierda;
var ArribaTop;
var AbajoIzquierda;
var AbajoTop; 
var dragL;  
var dragT; 
var rulerL; 
var rulerT; 
var contentT; 
var contentH; 
var contentClipH; 
var scrollLength; 
var startY;
var upH = 12; 
var upW = 16;
var downH = 12;
var downW = 16;
var dragH = 23;
var dragW = 9; 
var scrollH = screen.height-474; 
var speed = 4; 
var speed2 = 1000; 
var speed3 = 160; 
var speedRaton = 80;
var posLeft =  screen.width - 208;
var posTop = 200;
 
function move(e){
	if(posiscroll && contentH > contentClipH){
		getMouse(e);
		dragT = (RatonY - startY);
		
		if(dragT < (rulerT))
			dragT = rulerT;		
		if(dragT > (rulerT + scrollH - dragH))
			dragT = (rulerT + scrollH - dragH);
		contentT = ((dragT - rulerT)*(1/scrollLength));
		contentT = eval('-' + contentT);
		moveTo();
		if(ie4)
			return false;
	}
}
function down(e){
	if((document.layers && e.which!=1) || (document.all && event.button!=1)) return true; // Enables the right mousebutton
	getMouse(e);
	startY = (RatonY - dragT);
	
	if(RatonX >= ArribaIzquierda && (RatonX <= (ArribaIzquierda + upW)) && RatonY >= ArribaTop && (RatonY <= (ArribaTop + upH))){
		ClickArriba = true;
		return scrollUp();
	}else if(RatonX >= AbajoIzquierda && (RatonX <= (AbajoIzquierda + downW)) && RatonY >= AbajoTop && (RatonY <= (AbajoTop + downH))){
		ClickAbajo = true;
		return scrollDown();
	}else if(RatonX >= dragL && (RatonX <= (dragL + dragW)) && RatonY >= dragT && (RatonY <= (dragT + dragH))){
		posiscroll = true;
		return false;
	}else if(RatonX >= dragL && (RatonX <= (dragL + dragW)) && RatonY >= rulerT && (RatonY <= (rulerT + scrollH))){
		if(RatonY < dragT){
			clickAbove = true;
			ClickArriba = true;
			return scrollUp();
		}else{
			clickBelow = true;
			ClickAbajo = true;
			return scrollDown();
		}
	}else{
		return true;
	}
}
function up(){
	clearTimeout(timer);
	ClickArriba = false;
	ClickAbajo = false;
	posiscroll = false;
	clickAbove = false;
	clickBelow = false;
	return true;
}
function getT(){
	if(ie4)
		contentT = document.all.content.style.pixelTop;
	else if(nn4)
		contentT = document.contentClip.document.content.top;
	else if(dom)
		contentT = parseInt(document.getElementById("content").style.top);
}

function getMouse(e){
	if(ie4){
		RatonY = event.clientY + document.body.scrollTop;
		RatonX = event.clientX + document.body.scrollLeft;
	}
	else if(nn4 || dom){
		RatonY = e.pageY;
		RatonX = e.pageX;
	}
}

function moveTo(){
	if(ie4){
		document.all.content.style.top = contentT;
		document.all.ruler.style.top = dragT;
		document.all.drag.style.top = dragT;
	}
	else if(nn4){
		document.layers.contentClip.document.content.top = contentT;
		document.layers.ruler.top = dragT;
		document.layers.drag.top = dragT;
	}
	else if(dom){
		document.getElementById("content").style.top = contentT + "px";
		document.getElementById("drag").style.top = dragT + "px";
		document.getElementById("ruler").style.top = dragT + "px";
	}
}

function scrollUp(){
	getT();
	
	if(clickAbove){
		if(dragT <= (RatonY-(dragH/2)))
			return up();
	}
	if(ClickArriba){
		if(contentT < 0){		
			dragT = dragT - (speed*scrollLength);
			if(dragT < (rulerT))
				dragT = rulerT;
			contentT = contentT + speed;
			if(contentT > 0)
				contentT = 0;
			moveTo();
			timer = setTimeout("scrollUp()",25);
		}
	}
	return false;
}

function scrollDown(){
	getT();
	if(clickBelow){
		if(dragT >= (RatonY-(dragH/2)))
			return up();
	}
	if(ClickAbajo){
		if(contentT > -(contentH - contentClipH)){			
			dragT = dragT + (speed*scrollLength);
			if(dragT > (rulerT + scrollH - dragH))
				dragT = (rulerT + scrollH - dragH);
			
			contentT = contentT - speed;
			if(contentT < -(contentH - contentClipH))
				contentT = -(contentH - contentClipH);
			moveTo();
			timer = setTimeout("scrollDown()",25);
		}
	}
	return false;
}

function reloadPage(){
	location.reload();
}

function scrollUpRaton(){
	getT();
	
	if(clickAbove){
		if(dragT <= (RatonY-(dragH/2)))
			return up();
	}
	if(ClickArriba){
		if(contentT < 0){		
			dragT = dragT - (speedRaton*scrollLength);
			if(dragT < (rulerT))
				dragT = rulerT;
			contentT = contentT + speedRaton;
			if(contentT > 0)
				contentT = 0;
			moveTo();
			timer = setTimeout("scrollUp()",25);
		}
	}
	return false;
}

function scrollDownRaton(){
	getT();
	if(clickBelow){
		if(dragT >= (RatonY-(dragH/2)))
			return up();
	}
	if(ClickAbajo){
		if(contentT > -(contentH - contentClipH)){			
			dragT = dragT + (speedRaton*scrollLength);
			if(dragT > (rulerT + scrollH - dragH))
				dragT = (rulerT + scrollH - dragH);
			
			contentT = contentT - speedRaton;
			if(contentT < -(contentH - contentClipH))
				contentT = -(contentH - contentClipH);
			moveTo();
			timer = setTimeout("scrollDown()",25);
		}
	}
	return false;
}
function scrollUpTeclado(){
	getT();
	
	if(clickAbove){
		if(dragT <= (RatonY-(dragH/2)))
			return up();
	}
	if(ClickArriba){
		if(contentT < 0){		
			dragT = dragT - (speed2*scrollLength);
			if(dragT < (rulerT))
				dragT = rulerT;
			contentT = contentT + speed2;
			if(contentT > 0)
				contentT = 0;
			moveTo();
			timer = setTimeout("scrollUp()",25);
		}
	}
	return false;
}

function scrollDownTeclado(){
	getT();
	if(clickBelow){
		if(dragT >= (RatonY-(dragH/2)))
			return up();
	}
	if(ClickAbajo){
		if(contentT > -(contentH - contentClipH)){			
			dragT = dragT + (speed2*scrollLength);
			if(dragT > (rulerT + scrollH - dragH))
				dragT = (rulerT + scrollH - dragH);
			
			contentT = contentT - speed2;
			if(contentT < -(contentH - contentClipH))
				contentT = -(contentH - contentClipH);
			moveTo();
			timer = setTimeout("scrollDown()",25);
		}
	}
	return false;
}
function scrollUpPaginando(){
	getT();
	
	if(clickAbove){
		if(dragT <= (RatonY-(dragH/2)))
			return up();
	}
	if(ClickArriba){
		if(contentT < 0){		
			dragT = dragT - (speed3*scrollLength);
			if(dragT < (rulerT))
				dragT = rulerT;
			contentT = contentT + speed3;
			if(contentT > 0)
				contentT = 0;
			moveTo();
			timer = setTimeout("scrollUp()",25);
		}
	}
	return false;
}

function scrollDownPaginando(){
	getT();
	if(clickBelow){
		if(dragT >= (RatonY-(dragH/2)))
			return up();
	}
	if(ClickAbajo){
		if(contentT > -(contentH - contentClipH)){			
			dragT = dragT + (speed3*scrollLength);
			if(dragT > (rulerT + scrollH - dragH))
				dragT = (rulerT + scrollH - dragH);
			
			contentT = contentT - speed3;
			if(contentT < -(contentH - contentClipH))
				contentT = -(contentH - contentClipH);
			moveTo();
			timer = setTimeout("scrollDown()",25);
		}
	}
	return false;
}
function cargaeventos(){
	if(TableContent.clientHeight>TableDiv.clientHeight)
	{
		var altoscroll;//=document.body.clientHeight-20;

		altoscroll = TableDiv.clientHeight-35;

		scrollH = altoscroll+20;
		/*if (scrollH>150)
		{
			if (scrollH>180)
			{
				altoscroll = 180;
				scrollH = 180+20;
			}else{
				scrollH -= 100;
				altoscroll -= 100;
			}
		}*/
		if (document.body.clientWidth<780)
		{
			posLeft = 560;
		}
		else
		{
			posLeft = document.body.clientWidth-206;
		}
		Creator('up',"document",posLeft,posTop,25,20,null,null,null,"<img src='/SiteCollectionImages/subir.gif' border=0>","yes");
		Creator('down',"document",posLeft,posTop+altoscroll+15,25,20,null,null,null,"<img src='/SiteCollectionImages/bajar.gif' border=0>","yes");
		Creator('drag',"document",posLeft+3,posTop+15,10,2,null,null,null,"<img src='/SiteCollectionImages/spa.gif' width=10 height=2 border=0>","yes");
		Creator('linea_scroll',"document",posLeft+7,posTop+15,1,altoscroll,null,null,null,"<img src='/SiteCollectionImages/spa.gif' width=1 height="+(altoscroll)+" border=0>","yes");
		Creator('ruler',"document",posLeft,posTop+15,1,1,null,null,null,"<img src='/SiteCollectionImages/sp.gif' width=1 height=1 border=0>","yes");
		if (nn4) mielemento = document.content;
		if (dom) mielemento = document.getElementById(content);
		if (ie4) mielemento = content.style
		mielemento.xpos = parseInt(mielemento.left)
		mielemento.ypos = parseInt(mielemento.top)
		mielemento.activeup = false
		mielemento.activedown = false
		configuraeventos(altoscroll);
	}
}
function configuraeventos(altoscroll)
{
	if(ie4){
		
		ArribaIzquierda = document.all.up.style.pixelLeft;
		ArribaTop = document.all.up.style.pixelTop;		
		AbajoIzquierda = document.all.down.style.pixelLeft;
		AbajoTop = document.all.down.style.pixelTop;
		dragL = document.all.drag.style.pixelLeft;
		dragT = document.all.drag.style.pixelTop;		
		rulerT = document.all.ruler.style.pixelTop;		
		contentH = parseInt(document.all.content.scrollHeight);
		contentClipH = parseInt(document.all.contentClip.style.height);
		
	}
	else if(nn4){
	
		ArribaIzquierda = document.layers.up.left;
		ArribaTop = document.layers.up.top;		
		AbajoIzquierda = document.layers.down.left;
		AbajoTop = document.layers.down.top;		
		dragL = document.layers.drag.left;
		dragT = document.layers.drag.top;		
		rulerT = document.layers.ruler.top;
		contentH = document.layers.contentClip.document.content.clip.bottom;
		contentClipH = document.layers.contentClip.clip.bottom;
	}
	else if(dom){
	
		ArribaIzquierda = parseInt(document.getElementById("up").style.left);
		ArribaTop = parseInt(document.getElementById("up").style.top);
		AbajoIzquierda = parseInt(document.getElementById("down").style.left);
		AbajoTop = parseInt(document.getElementById("down").style.top);
		dragL = parseInt(document.getElementById("drag").style.left);
		dragT = parseInt(document.getElementById("drag").style.top);
		rulerT = parseInt(document.getElementById("ruler").style.top);
		contentH = parseInt(document.getElementById("content").offsetHeight);
		contentClipH = parseInt(document.getElementById("contentClip").offsetHeight);
		document.getElementById("content").style.top = 0 + "px";
	}
	scrollLength = ((scrollH-dragH)/(contentH-contentClipH));
	if(nn4){
		document.captureEvents(Event.MOUSEDOWN | Event.MOUSEMOVE | Event.MOUSEUP | Event.KEYDOWN | Event.KEYUP);
		window.onresize = reloadPage;
	}

	if(contentH<altoscroll)
	{
		divup.hide();
		divdown.hide();
		divdrag.hide();
		divlinea_scroll.hide();
		divruler.hide();
	}
	document.onmousedown = down;
	document.onmousemove = move;
	document.onmouseup = up;
	document.onkeydown = pulsarTecla
	document.onkeyup = soltarTecla
	document.onmousewheel = soltarTecla
}
function pulsarTecla(e) {
	if (nn4) {var teclaN=e.which; var teclaIE=0}
	if (ie4) {var teclaIE=event.keyCode; var teclaN=0}
	if ((teclaN==99 || teclaIE==38) && !mielemento.activeup) {   //arriba
		mielemento.activeup = true
		mielemento.activedown = false
		movercapaarriba(e)		
		
		
	}
	if ((teclaN==118 || teclaIE==40) && !mielemento.activedown) {   //V abajo
		mielemento.activedown = true
		mielemento.activeup = false
		movercapaabajo(e)
		
	}
	if ((teclaIE==36) && !mielemento.activeup) {   //arriba rapido
		mielemento.activeup = true
		mielemento.activedown = false
		movercapaarribaRapido(e)		
		
		
	}
	if ((teclaIE==35) && !mielemento.activedown) {   //V abajo rapido
		mielemento.activedown = true
		mielemento.activeup = false
		movercapaabajoRapido(e)
		
	}
	if ((teclaIE==33) && !mielemento.activeup) {   //arriba rapido
		mielemento.activeup = true
		mielemento.activedown = false
		movercapaarribaPaginando(e)		
		
		
	}
	if ((teclaIE==34) && !mielemento.activedown) {   //V abajo rapido
		mielemento.activedown = true
		mielemento.activeup = false
		movercapaabajoPaginando(e)
		
	}
}

function soltarTecla(e) {
	
	if (nn4) {var teclaN=e.which; var teclaIE=0}
	if (ie4) {var teclaIE=event.keyCode; var teclaN=0}
	if (teclaN==99 || teclaIE==33 || teclaIE==38 || teclaIE==104) mielemento.activeup = false
	if (teclaN==118 || teclaIE==34 || teclaIE==40 || teclaIE==98) mielemento.activedown = false
	
	if (teclaIE==36) mielemento.activeup = false
	if (teclaIE==35) mielemento.activedown = false

	clearTimeout(timer);
	ClickArriba = false;
	ClickAbajo = false;
	posiscroll = false;
	clickAbove = false;
	clickBelow = false;
	return true;
	
}
function movercapaarriba(e) {
		ClickArriba = true;
		return scrollUp();
}


function movercapaabajo(e) {
		ClickAbajo = true;
		return scrollDown();
}
function movercapaarribaRapido(e) {
		ClickArriba = true;
		return scrollUpTeclado();
}


function movercapaabajoRapido(e) {
		ClickAbajo = true;
		return scrollDownTeclado();
}
function movercapaarribaPaginando(e) {
		ClickArriba = true;
		return scrollUpPaginando();
}


function movercapaabajoPaginando(e) {
		ClickAbajo = true;
		return scrollDownPaginando();
}
function shiftUpDown() {
	
	if (event.wheelDelta>=120){
			ClickArriba = true;
			return scrollUpRaton();
        
    }else if (event.wheelDelta<=-120){
        ClickAbajo = true;
		return scrollDownRaton();
	}
}

function reubicarScroll(leftPos) {
   if (document.body.clientWidth >780)
   {
 		if (document.body.scroll == "yes") leftPos +=20
  		document.body.scroll = "no";
  		leftPos=leftPos-20;
		posLeft=leftPos;
		divup.x=leftPos;
		divup.name.left=leftPos;
		divdown.x=leftPos;
		divdown.name.left=leftPos;
		divdrag.x=leftPos+3;
		divdrag.name.left=leftPos+3;
		divlinea_scroll.x=leftPos+7;
		divlinea_scroll.name.left=leftPos+7;
		divruler.x=leftPos;
		divruler.name.left=leftPos;
		configuraeventos();
   }
   else
   {
   if ((document.body.clientWidth >760)&&(document.body.clientHeigh>560)){
  		document.body.scroll = "no";
  	}
  	else
  	{document.body.scroll = "yes";}
   }

}

