
//INIT
var actual_links = {} //Multiple links extension
var st_links = {} //Multiple links extension
var elem_links = {} //Multiple links extension
var max_links = {} //Restart links extension
var m = -1;
var rgb = 0; 
var rgbMAX2MIN = 910; // fa la transició amb color clar i es queda fosc
var rgbMIN2MAX = 901; // fa la transició amb color fosc i es queda clar
var staymsFAST = 1000;
var staymsNORMAL = 2500;
var staymsSLOW = 4500;
var tmsFAST = 20;
var tmsNORMAL = 50;
var tmsSLOW = 100;

//CONFIG
var rgbMAX = 245; // RGB pel color clar
var rgbMIN = 111; // RGB pel color fosc
var rgbDIRECTION = rgbMAX2MIN; // Direcció de les transicións: de clar a fosc o de fosc a clar
var visible = 0; // Capa sempre visible o no. Pot ser necesari fer la transició posant les capes visibles o posantles invisibles
var stayms = staymsNORMAL; //Velocitat de la repeticio de transicions rapida, normal o lenta
var tms = tmsNORMAL; //Velocitat del canvi de colors rapida, normal o lenta

/*********************************************************/
/* General functions                                     */
/*********************************************************/


function showLayer(obj) { 
	if (obj.style) 
		obj=obj.style; 
    
	obj.display = 'block'
}

function hideLayer(obj) { 
	if (obj.style) 
		obj=obj.style; 
    
	obj.display = 'none'
}


/*********************************************************/
/* Links functions                                     */
/*********************************************************/



function initLinks(id)
{
	var elm = document.getElementById(id);
	var obj = elm?elm.getElementsByTagName("a"):document.body.getElementsByTagName("a");
	var count = 0;

	if(rgbDIRECTION == rgbMAX2MIN)  rgb = rgbMAX; 
	else if (rgbDIRECTION == rgbMIN2MAX) rgb = rgbMIN; 
	
	for (var i=0; i < obj.length; i++)
	{
		if (obj[i].className == 'einnovixlink')
		{
			if(elem_links[id] == null) elem_links[id] = obj[i];
			if(!visible)hideLayer(obj[i]);
			count++;
		}
	}

	actual_links[id]=0
	max_links[id]=count;
	showLink(id) 
}
	
	
function showLink(id) 
{
	if(rgbDIRECTION == rgbMAX2MIN) 
	{
		rgb = rgb + (5 * m);        

		// Pasem al seguent element si hem arribat al de la Trnasició (Quan arribem a lo mes clar)
		if ( rgb >= rgbMAX )  
		{  
			if(!visible)hideLayer(elem_links[id]);
        
			actual_links[id]++;            
			m=-1;	
			rgb = rgbMAX;		            
			getNextElem(id);
		}
	
	    // Fem el canvi de sentit si arribem al mig de la tranasició  (Quan arribem a lo mes fosc)
		if ( rgb<= rgbMIN )	m = m * -1;          		

		//Tornem a començar si ja s'han acabat els elements
		if ( elem_links[id] == null || actual_links[id]==max_links[id])  //Tornem a començar si ja s'han acabat els elements
		{
			actual_links[id] = 0;
			getNextElem(id);
			st_links[id]=setTimeout("showLink('"+id+"')", tms);
		}
		else if ( rgb <= rgbMIN ) //Fem la transició sense canvi de color  (Quan arribem a lo mes fosc)
		{
			st_links[id]=setTimeout("showLink('"+id+"')", stayms);
		}
		else //Fem la transició amb canvi de color
		{    
			if(!visible)showLayer(elem_links[id]);
			elem_links[id].style.color="rgb("+rgb+","+rgb+","+rgb+")";            
			st_links[id]=setTimeout("showLink('"+id+"')", tms)
		}
	}
	else if(rgbDIRECTION == rgbMIN2MAX)
	{
		rgb = rgb - (5 * m);        

		// Pasem al seguent element si hem arribat al de la Trnasició  (Quan arribem a lo mes fosc)
		if ( rgb <= rgbMIN )  
		{  
			if(!visible)hideLayer(elem_links[id]);
        
			actual_links[id]++;            
			m=-1;	
			rgb = rgbMIN;		            
			getNextElem(id);
		}
	
	    // Fem el canvi de sentit si arribem al mig de la tranasició  (Quan arribem a lo mes clar)
		if ( rgb >= rgbMAX )	m = m * -1;          		

		//Tornem a començar si ja s'han acabat els elements
		if ( elem_links[id] == null || actual_links[id]==max_links[id])  //Tornem a començar si ja s'han acabat els elements
		{
			actual_links[id] = 0;
			getNextElem(id);
			st_links[id]=setTimeout("showLink('"+id+"')", tms);
		}
		else if ( rgb >= rgbMAX ) //Fem la transició sense canvi de color  (Quan arribem a lo mes clar)
		{
			st_links[id]=setTimeout("showLink('"+id+"')", stayms);
		}
		else //Fem la transició amb canvi de color
		{    
			if(!visible)showLayer(elem_links[id]);
			elem_links[id].style.color="rgb("+rgb+","+rgb+","+rgb+")";            
			st_links[id]=setTimeout("showLink('"+id+"')", tms);
		}
	}
}

function getNextElem(id)
{
 	// alert("He have elem "+id+": "+actual_links[id]);
	nelem = 0;
	var elm = document.getElementById(id);
	var obj = elm?elm.getElementsByTagName("a"):document.body.getElementsByTagName("a");
	
	for (var i=0; i < obj.length; i++)
	{
		if (obj[i].className == 'einnovixlink')
		{
		
			if(nelem == actual_links[id])
			{	
				elem_links[id] = obj[i];
			   	// alert("He have elem "+id+": "+actual_links[id]);
			}
			nelem++;
		}
	}	
}
