




//*********************
// CONFIGURACIÓ
//*********************
// Temps que passarà des de que la notícia està completament visible fins que es passa a la següent noticia
var tempsVisible = 15;	// segons
// Temps màxim que durarà la transició. Transcorregut aquest temps es mostrarà la notícia
var tempsMaxTransicio = 3;
// Nombre de canvis que sufrirà cada lletra fins que s'hi posi la correcta
var nombreCanvis = 5;
// Activa / Desactiva el canvi de banner quan hi ha el canvi de noticia
//var bCanviarBanner = true;
// Força que el banner sigui 100% visible quan s'arribi a tempsMaxTransicio
var bMostraBannerAlTempsMax = true;
//*********************






//var ab=new String("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890");
var ab=new String("abcdefghijklmnopqrstuvwxyz");
var strCapa = "";

var numNot =  parseInt(Math.random()*noticies.length);

var noticiaVisible = true;
function initNoticies()
{
	canviaNoticies();
}

function passaTextALinies(txt){
	var str = new String(txt);
	strCapa = new String("");
	
	for (i=0; i<str.length; i++){
		if (str.charAt(i) == ' '){
			strCapa += ' ';
		}
		else{
			strCapa += '-';
		}
	}
	MM_setTextOfLayer('noticiaSpan','',strCapa);
}

//LLença els triggers que efectuarant la trancisió.
//Cada trigger s'executaran passats x segons
contadorTriggers = 0;
function escriuTextTrancisio(txt)
{
	var str = new String(txt);
	for (i=0; i<str.length; i++)
	{
		ran = Math.random()*30;
		contadorTriggers++;
		setTimeout('trancisio('+i+', -1, "'+txt+'")', ran*40);
	}
}

//Va reescribint la capa 'noticia' cada 0.3 seg
function escriuTextCapa()
{
	MM_setTextOfLayer('noticiaSpan','',str2);
	setTimeout('escriuTextCapa()', 300);
}

//Executa els canvis de lletra llençats per escriuTextTrancisio()
function cortar(str)
{
  numLetras = 80;
  palabras = str.split(' ');
  cad = '';
  i=0;
  var lineas=0;
  while (i < palabras.length) {
    tot=0;
   if (palabras[i].length >= numLetras) {
      cad += ' '+palabras[i]+'<br />';
      i++
    }
    else while (true) {
      if (tot + palabras[i].length + ((tot>0) ? 1 : 0) <= numLetras) {
        cad += ' '+palabras[i];
        tot += palabras[i].length + ((tot>0) ? 1 : 0);
        i++; 
        if (i > palabras.length-1) break;
      } 
      else {
      	if(lineas<1)
      	{
        	cad+=' ';
        	lineas++;
        	break;
        }
        else
        {
        	cad+="..."
        	return cad;
        }
      }
    } 
  } 
  return cad;
} 
function trancisio(lletra, cont, str)
{
	cont++;
	strCapa = canviaLletra(str, lletra, cont);
	MM_setTextOfLayer('noticiaSpan','',cortar(strCapa));
	
	if (cont < nombreCanvis && !noticiaVisible){
		setTimeout('trancisio(	'+lletra+', '+cont+', "'+str+'");', 100);
	}
	else{
		contadorTriggers--;
		if (contadorTriggers == 0)
		{
			// La notícia ja està completament visible
			noticiaVisible = true;
			if (gTransicioBanner == true && bMostraBannerAlTempsMax) cancelaTransicioBanner();
			setTimeout("canviaNoticies()", tempsVisible*1000);
		}
	}
}

//Canvia una lletra per una altra
function canviaLletra(str, n, cont)
{
	if (cont == nombreCanvis || noticiaVisible)
	{
		c = str.charAt(n);
	}
	else
	{
		ran = Math.random()*ab.length;
		c = ab.charAt(ran);
	}
	
	if (strCapa.charAt(n) != ' ')
	{
		t = strCapa.substring(0,n);
		t+=c;
		t += strCapa.substring(n+1,strCapa.length);
		return t;
	}
	else
	{
		return strCapa;
	}	
	
}



function canviaNoticies()
{
	if (!es.safari)
	{
		noticiaVisible = false;
		passaTextALinies(unescape(noticies[numNot]));
		MM_setTextOfLayer('noticiaSpan','',cortar(strCapa));
		setTimeout("escriuTextTrancisio('"+unescape(noticies[numNot])+"')", 300);
		
		setTimeout("noticiaVisible = true;",tempsMaxTransicio*1000);
	}
	else
	{
		// Per SAFARI no fem la transició del text
		MM_setTextOfLayer('noticiaSpan','',unescape(noticies[numNot]));
		setTimeout("canviaNoticies()", (tempsVisible+tempsMaxTransicio)*1000);
	}
		
		
	if (bCanviarBanner)
	{
		canviaBanner(bannersNoticies[numNot]);
	}
	
	numNot++;
	if (numNot >= noticies.length){
		numNot = 0;
	}
}


function vesANoticia()
{
	tmp = numNot - 1;
	if (tmp == -1) tmp = noticies.length-1;
	document.location = linksNoticies[tmp];
}







//************************************************************************
// Tansició del banner
//************************************************************************

var gImgBanner = false;
var gTimerBanner;
var inc = 25;
var gTransicioBanner = false;
var gUrlBanner = "";
var gPrecarregaImg = new Image();

function canviaBanner(urlBanner)
{
	gPrecarregaImg= new Image();
	gPrecarregaImg.src = urlBanner; //Comencem a fer la precàrrega
	
	gTransicioBanner = true;
	gUrlBanner = urlBanner;
	ocultaBanner();
}


function ocultaBanner(alpha)
{
	
	if (!gImgBanner) gImgBanner = MM_findObj("bannerImg");
	if (!gImgBanner) return;

	if (!alpha) alpha = 100;
	//alpha -= inc;
	alpha-=15;
	if (alpha < 0) alpha = 0;
	
	gImgBanner.style.filter = "alpha(opacity=" + alpha + ");";
	gImgBanner.style.MozOpacity = alpha/100;
	gImgBanner.style.opacity = alpha/100;
	
	if (alpha > 0)
	{
		gTimerBanner = setTimeout("ocultaBanner("+alpha+");", 100);
	}
	else
	{
			gImgBanner.src = gPrecarregaImg.src;
//		setTimeout("mostraBanner();",700);
		mostraBanner();
	}
}

function mostraBanner(alpha)
{
	
	if (!gImgBanner) gImgBanner = MM_findObj("bannerImg");
	if (!gImgBanner) return;
	
	if (!alpha) alpha = 0;
	alpha += inc;
	if (alpha > 100) alpha = 100;
	
	gImgBanner.style.filter = "alpha(opacity=" + alpha + ");";
	gImgBanner.style.MozOpacity = alpha/100;
	gImgBanner.style.opacity = alpha/100;
	
	if (alpha < 100)
	{
		gTimerBanner = setTimeout("mostraBanner("+alpha+");", 100);
	}
	else
	{
		gTransicioBanner = false;
	}
}

function cancelaTransicioBanner()
{
	clearTimeout(gTimerBanner);
	
	if (!gImgBanner) gImgBanner = MM_findObj("bannerImg");
	if (!gImgBanner) return;

	if (gImgBanner.src != gUrlBanner) gImgBanner.src = gUrlBanner;

	gImgBanner.style.filter = "alpha(opacity=100);";
	gImgBanner.style.MozOpacity = 1;
	gImgBanner.style.opacity = 1;
}