/*
	Arquivo crumb.js cria um cookie e adiona o link e o texto da pagina ao cookie.
	
	Sendo o "link" o endereço completo da página e o "texto" o título da página que será encontrada entre as 
	tags <title></title> de cada página.
	
	
	Em cada página deverá chamar a função "doCrumbs();"  entre as tags <script></script> no local desejado onde aparecerá a lista de links.
	Qualquer alteração visual da lista poderá ser feita na função "apresentaLinks()" desse arquivo.
	
	A quantidade de links mostrada na tela deverá ser alterada no atributo "linksNoCabeçalho" inicialmente configurada 
	para mostrar cinco links.
	
*/

var separador = '|';
var linksNoCabecalho = 4;// contador de rastros
var chunks;//pedaços
var DAY = 24 * 60 * 60 * 1000;

//Cria Lista de Links
function doCrumbs(){
	if(cookieTest('xxx')){
		crumbList = new CrumbList();
		if(getCookie('trailLinks')){ 
			var staleLinkCrumbs = getCookie('trailLinks').split(separador);// variavel com os links
			var staleTextCrumbs = getCookie('trailText').split(separador);// variavel com os textos
			var posicaoInicial=
				(staleTextCrumbs.length < linksNoCabecalho ||
				document.location==staleLinkCrumbs[staleLinkCrumbs.length-1])
				?0:1;
				for(i = posicaoInicial; i < staleLinkCrumbs.length; i++){
					crumbList.add(staleLinkCrumbs[i],staleTextCrumbs[i]);
				}
		}
		if(document.location!=crumbList.links[crumbList.links.length-1]){
			crumbList.add(document.location,document.title);
		}
		setCookie('trailLinks',crumbList.links.join(separador),1);//adiciona o link ao cookie
		setCookie('trailText',crumbList.text.join(separador),1);//adiciona o texto ao cookie
		crumbList.output();
	}
}

function CrumbList(){
	this.links = new Array();
	this.text = new Array();
	this.add = crumbListAdd;
	this.output = apresentaLinks;
}

/*
	Adiciona à lista de links o endereco e o texto.
*/
function crumbListAdd(href,text){
	this.links[this.links.length]=href;
	this.text[this.text.length]=text;
}

/*
	Imprime os links na lista
*/
function apresentaLinks(){
	for(var i in this.links){
		if(i==this.links.length-1){
			document.write( ((i==0)?"":" ") + "<li>" + this.text[i] + "</li>" );
		}else{
			document.write(((i==0)?"":" ")+"<li><a href='" + this.links[i] + "'>"+ this.text[i] + "</a></li>");
		}
	}
}

function cookieTest(name){
	try{
		setCookie(name,'true',1);
		chunks = document.cookie.split("; ");
		return (getCookie(name)=='true');
	}catch(e){
		return false;
	}
}

/*
	Pega dentro do cookie a lista partir do nome informado no atributo nome
*/
function getCookie(nome) {
	var returnVal = null;
	for (var i in chunks) {
		var chunk = chunks[i].split("=");
		returnVal = (chunk[0] == nome)
			?unescape(chunk[1])
			:returnVal;
	}
	return returnVal;
}

function setCookie(nome, value, dias) {
	if (value != null && value != "" && dias > 0){
		var expiry = new Date(new Date().getTime() + dias * DAY);
		document.cookie=
			nome +"="+ escape(value) +"; expires="
			+ expiry.toGMTString();
		chunks = document.cookie.split("; ");
	}
}
