/******************************************************
	Version 1.1
	Modificada por Pere ( 03-06-2008 )
	
	Cambios:
	
	- Compatibilidad total con IE 6, IE7.
	- Posibilidad de tener mas de un scroll a la vez, ahora la unica funcion que utiliza las variables inicializadas en el documento donde se coloca el scroll es la de initSlider y esta norma no debe romperse en futuras modificaciones.
	- El modo de utilizarlo externamente a esta libreria es exactamente el mismo.
******************************************************/

var time_scroll_link;
var time_scroll_link2;
var time_scroll_link3;
var time_scroll_link4;
var mult;

function scrolllink_up(nombrecapa,flecha1,flecha2,mult)
{
	var resta;
	var objSlide;
	objSlide = document.getElementById(nombrecapa);
	resta = $(objSlide).getSize().scrollSize.y - $(objSlide).getSize().size.y;
	
	if(parseInt($(objSlide).getSize().scroll.y) < resta)
	{	
		$(objSlide).scrollTo($(objSlide).getSize().scroll.x, $(objSlide).getSize().scroll.y + (2 * mult));
		showText(flecha1);
	}
	else
	{
		hideText(flecha2);
	}
}

function scrolllink_left(nombrecapa,flecha1,flecha2,mult)
{
	var resta;
	var objSlide;
	objSlide = document.getElementById(nombrecapa);
	resta = $(objSlide).getSize().scrollSize.x - $(objSlide).getSize().size.x;
	
	if(parseInt($(objSlide).getSize().scroll.x) < resta)
	{	
		$(objSlide).scrollTo($(objSlide).getSize().scroll.x + (2 * mult), $(objSlide).getSize().scroll.y);
		showText(flecha1);
	}
	else
	{
		hideText(flecha2);
	}
}
				
function scrolllink_down(nombrecapa,flecha1,flecha2,mult) 
{
	var objSlide;
	objSlide = document.getElementById(nombrecapa);
	
	if(parseInt($(objSlide).getSize().scroll.y) > 0) 
	{	
		$(objSlide).scrollTo($(objSlide).getSize().scroll.x, $(objSlide).getSize().scroll.y - (2 * mult));
		showText(flecha2);
	}
	else
	{
		hideText(flecha1);
	}
}

function scrolllink_right(nombrecapa,flecha1,flecha2,mult) 
{
	var objSlide;
	objSlide = document.getElementById(nombrecapa);
	
	if(parseInt($(objSlide).getSize().scroll.x) > 0) 
	{	
		$(objSlide).scrollTo($(objSlide).getSize().scroll.x - (2 * mult), $(objSlide).getSize().scroll.y);
		showText(flecha2);
	}
	else
	{
		hideText(flecha1);
	}
}
				
function checktop(nombrecapa,flecha1,flecha2)
{
	var resta;
	var objSlide;
	objSlide = document.getElementById(nombrecapa);
	resta = $(objSlide).getSize().scrollSize.y - $(objSlide).getSize().size.y;

	if(parseInt($(objSlide).getSize().scroll.y) < resta)
	{
		showText(flecha2);
	}
	if(parseInt($(objSlide).getSize().scroll.y) > 0)
	{
		showText(flecha1);
	}
}

function checkleft(nombrecapa,flecha1,flecha2)
{
	var resta;
	var objSlide;
	objSlide = document.getElementById(nombrecapa);
	resta = $(objSlide).getSize().scrollSize.x - $(objSlide).getSize().size.x;
	//alert('scrollSize :'+document.getElementById(nombrecapa).getSize().scrollSize.x+' size :'+document.getElementById(nombrecapa).getSize().size.x+' resta :'+resta+' scroll: '+document.getElementById(nombrecapa).getSize().scroll.x);

	if(parseInt($(objSlide).getSize().scroll.x) < resta)
	{
		showText(flecha2);
	}
	if(parseInt($(objSlide).getSize().scroll.x) > 0)
	{
		showText(flecha1);
	}
}

function link_scroll(nombrecapa,flecha1,flecha2,direccion,mult) 
{	
	if (mult == 1)
	{
		if(direccion == 'up')
		{
			time_scroll_link=setInterval("scrolllink_up('"+ nombrecapa +"','"+ flecha1 +"','"+ flecha2 +"',"+mult+")", 50);
		}
		else if(direccion == 'down')
		{
			time_scroll_link=setInterval("scrolllink_down('"+ nombrecapa +"','"+ flecha1 +"','"+ flecha2 +"',"+mult+")", 50);	
		}
		else if(direccion == 'left')
		{
			time_scroll_link3=setInterval("scrolllink_left('"+ nombrecapa +"','"+ flecha1 +"','"+ flecha2 +"',"+mult+")", 50);
		}
		else if(direccion == 'right')
		{
			time_scroll_link3 = setInterval("scrolllink_right('"+ nombrecapa +"','"+ flecha1 +"','"+ flecha2 +"',"+mult+")", 50);
		}
	}
	else
	{
		if(direccion == 'up')
		{
			time_scroll_link2=setInterval("scrolllink_up('"+ nombrecapa +"','"+ flecha1 +"','"+ flecha2 +"',"+mult+")", 50);
		}
		else if(direccion == 'down')
		{
			time_scroll_link2=setInterval("scrolllink_down('"+ nombrecapa +"','"+ flecha1 +"','"+ flecha2 +"',"+mult+")", 50);	
		}
		else if(direccion == 'left')
		{
			time_scroll_link4=setInterval("scrolllink_left('"+ nombrecapa +"','"+ flecha1 +"','"+ flecha2 +"',"+mult+")", 50);
		}
		else if(direccion == 'right')
		{
			time_scroll_link4 = setInterval("scrolllink_right('"+ nombrecapa +"','"+ flecha1 +"','"+ flecha2 +"',"+mult+")", 50);
		}
	}
	
}

function stop_link_scroll()
{
	clearInterval(time_scroll_link);
}
function stop_link_scroll2()
{
	clearInterval(time_scroll_link2);
}
function stop_link_scroll3()
{
	clearInterval(time_scroll_link3);
}
function stop_link_scroll4()
{
	clearInterval(time_scroll_link4);
}

function initSlider(nombrecapa)
{
	if (slider != 0)
	{
		var sSize;
		var objSlide;
		objSlide = document.getElementById(nombrecapa);
		sSize = $(objSlide).getSize().scrollSize.y - $(objSlide).getSize().size.y;
		
		if (slider == 3)
		{
			window.addEvent('domready', function(){
				var mySlide3 = new Slider($('area3'), $('knob3'), {	
					steps: sSize,	
					mode: 'vertical',	
					onChange: function(step){
						$(objSlide).scrollTo($(objSlide).getSize().scroll.y, step);
					}
				}).set(0);
			});
		}
	}
	else
	{
		if(direccion == 'vert')
		{	
			document.getElementById(flecha1).innerHTML = '<img id="'+ nameflecha1 +'" name="'+ nameflecha1 +'" src="'+ srcflecha1 +'" onMouseOver="link_scroll(\''+ nombrecapa +'\',\''+ nameflecha1 +'\',\''+ nameflecha2 +'\',\'down\',1);document.images[\''+ nameflecha1 +'\'].src = \''+ overflecha1 +'\';" onmouseout="stop_link_scroll();stop_link_scroll2();document.images[\''+ nameflecha1 +'\'].src = \''+ srcflecha1 +'\';" onmousedown="link_scroll(\''+ nombrecapa +'\',\''+ nameflecha1 +'\',\''+ nameflecha2 +'\',\'down\',4);" onmouseup="stop_link_scroll2();" style="visibility:hidden"/>';
			
			document.getElementById(flecha2).innerHTML = '<img id="'+ nameflecha2 +'" name="'+ nameflecha2 +'" src="'+ srcflecha2 +'" onMouseOver="link_scroll(\''+ nombrecapa +'\',\''+ nameflecha1 +'\',\''+ nameflecha2 +'\',\'up\',1);document.images[\''+ nameflecha2 +'\'].src = \''+ overflecha2 +'\';" onmouseout="stop_link_scroll();stop_link_scroll2();document.images[\''+ nameflecha2 +'\'].src = \''+ srcflecha2 +'\';" onmousedown="link_scroll(\''+ nombrecapa +'\',\''+ nameflecha1 +'\',\''+ nameflecha2 +'\',\'up\',4);" onmouseup="stop_link_scroll2();" style="visibility:hidden" onLoad="checktop(\''+ nombrecapa +'\',\''+ nameflecha1 +'\',\''+ nameflecha2 +'\');"/>';
		}
		else
		{
			document.getElementById(flecha1).innerHTML = '<img id="'+ nameflecha1 +'" name="'+ nameflecha1 +'" src="'+ srcflecha1 +'" onMouseOver="link_scroll(\''+ nombrecapa +'\',\''+ nameflecha1 +'\',\''+ nameflecha2 +'\',\'right\',1);document.images[\''+ nameflecha1 +'\'].src = \''+ overflecha1 +'\';" onmouseout="stop_link_scroll3();stop_link_scroll4();document.images[\''+ nameflecha1 +'\'].src = \''+ srcflecha1 +'\';" onmousedown="link_scroll(\''+ nombrecapa +'\',\''+ nameflecha1 +'\',\''+ nameflecha2 +'\',\'right\',4);" onmouseup="stop_link_scroll4();" style="visibility:hidden"/>';
			
			document.getElementById(flecha2).innerHTML = '<img id="'+ nameflecha2 +'" name"'+ nameflecha2 +'" src="'+ srcflecha2 +'" onMouseOver="link_scroll(\''+ nombrecapa +'\',\''+ nameflecha1 +'\',\''+ nameflecha2 +'\',\'left\',1);document.images[\''+ nameflecha2 +'\'].src = \''+ overflecha2 +'\';" onmouseout="stop_link_scroll3();stop_link_scroll4();document.images[\''+ nameflecha2 +'\'].src = \''+ srcflecha2 +'\';" onmousedown="link_scroll(\''+ nombrecapa +'\',\''+ nameflecha1 +'\',\''+ nameflecha2 +'\',\'left\',4);" onmouseup="stop_link_scroll4();" style="visibility:hidden" onLoad="checkleft(\''+ nombrecapa +'\',\''+ nameflecha1 +'\',\''+ nameflecha2 +'\');"/>';
		
		}
	}
	
}

function initSlider2(nombrecapa)
{
	if (slider != 0)
	{
		var sSize;
		var objSlide;
		objSlide = document.getElementById(nombrecapa);
		sSize = $(objSlide).getSize().scrollSize.y - $(objSlide).getSize().size.y;
		
		if (slider == 3)
		{
			window.addEvent('domready', function(){
				var mySlide3 = new Slider($('area3'), $('knob3'), {	
					steps: sSize,	
					mode: 'vertical',	
					onChange: function(step){
						$(objSlide).scrollTo($(objSlide).getSize().scroll.y, step);
					}
				}).set(0);
			});
		}
	}
	else
	{
		if(direccion == 'vert')
		{	
			document.getElementById(flecha1).innerHTML = '<img id="'+ nameflecha1 +'" name="'+ nameflecha1 +'" src="'+ srcflecha1 +'" onMouseOver="link_scroll(\''+ nombrecapa +'\',\''+ nameflecha1 +'\',\''+ nameflecha2 +'\',\'down\',1);document.images[\''+ nameflecha1 +'\'].src = \''+ overflecha1 +'\';" onmouseout="stop_link_scroll();stop_link_scroll2();document.images[\''+ nameflecha1 +'\'].src = \''+ srcflecha1 +'\';" onmousedown="link_scroll(\''+ nombrecapa +'\',\''+ nameflecha1 +'\',\''+ nameflecha2 +'\',\'down\',4);" onmouseup="stop_link_scroll2();" style="visibility:hidden"/>';
			
			document.getElementById(flecha2).innerHTML = '<img id="'+ nameflecha2 +'" name="'+ nameflecha2 +'" src="'+ srcflecha2 +'" onMouseOver="link_scroll(\''+ nombrecapa +'\',\''+ nameflecha1 +'\',\''+ nameflecha2 +'\',\'up\',1);document.images[\''+ nameflecha2 +'\'].src = \''+ overflecha2 +'\';" onmouseout="stop_link_scroll();stop_link_scroll2();document.images[\''+ nameflecha2 +'\'].src = \''+ srcflecha2 +'\';" onmousedown="link_scroll(\''+ nombrecapa +'\',\''+ nameflecha1 +'\',\''+ nameflecha2 +'\',\'up\',4);" onmouseup="stop_link_scroll2();" />';
		}
		else
		{
			document.getElementById(flecha1).innerHTML = '<img id="'+ nameflecha1 +'" name="'+ nameflecha1 +'" src="'+ srcflecha1 +'" onMouseOver="link_scroll(\''+ nombrecapa +'\',\''+ nameflecha1 +'\',\''+ nameflecha2 +'\',\'right\',1);document.images[\''+ nameflecha1 +'\'].src = \''+ overflecha1 +'\';" onmouseout="stop_link_scroll3();stop_link_scroll4();document.images[\''+ nameflecha1 +'\'].src = \''+ srcflecha1 +'\';" onmousedown="link_scroll(\''+ nombrecapa +'\',\''+ nameflecha1 +'\',\''+ nameflecha2 +'\',\'right\',4);" onmouseup="stop_link_scroll4();" style="visibility:hidden"/>';
			
			document.getElementById(flecha2).innerHTML = '<img id="'+ nameflecha2 +'" name"'+ nameflecha2 +'" src="'+ srcflecha2 +'" onMouseOver="link_scroll(\''+ nombrecapa +'\',\''+ nameflecha1 +'\',\''+ nameflecha2 +'\',\'left\',1);document.images[\''+ nameflecha2 +'\'].src = \''+ overflecha2 +'\';" onmouseout="stop_link_scroll3();stop_link_scroll4();document.images[\''+ nameflecha2 +'\'].src = \''+ srcflecha2 +'\';" onmousedown="link_scroll(\''+ nombrecapa +'\',\''+ nameflecha1 +'\',\''+ nameflecha2 +'\',\'left\',4);" onmouseup="stop_link_scroll4();" style="visibility:hidden" onLoad="checkleft(\''+ nombrecapa +'\',\''+ nameflecha1 +'\',\''+ nameflecha2 +'\');"/>';
		
		}
	}
	
}

function showText(id)
{
	document.getElementById(id).style.visibility='visible';
}
function hideText(id)
{
	document.getElementById(id).style.visibility='hidden';
}