var tempo;
var intervalo = 12000; //Intervalo entra as mudanças de slides. Definido em milisegundos.

function $(campo) {
	return document.getElementById(campo);
}

//Trecho de código criado por Wilker
var $A = Array.from = function(iterable) {
	if (!iterable) return [];
	if (iterable.toArray) {
		return iterable.toArray();
	} else {
		var results = [];
		for (var i = 0; i < iterable.length; i++)
			results.push(iterable[i]);
		return results;
	}
};
Function.prototype.bind = function() {
	var __method = this, args = $A(arguments), object = args.shift();
	return function() {
		return __method.apply(object, args.concat($A(arguments)));
	};
};

//Fim do trecho de código criado por Wilker
//Função adaptada da original de Christian Heilmann, em http://www.onlinetools.org/articles/unobtrusivejavascript/chapter4.html
function addEvent(obj, evType, fn) { 
	if (typeof obj == "string") {
		if (null == (obj = document.getElementById(obj))) {
			throw new Error("Elemento HTML não encontrado. Não foi possível adicionar o evento.");
		}
	}
	if (obj.attachEvent) {
		return obj.attachEvent(("on" + evType), fn);
	} else if (obj.addEventListener) {
		return obj.addEventListener(evType, fn, true);
	} else {
		throw new Error("Seu browser não suporta adição de eventos.");
	}
}

function nextSlide(quant) {
	try{
		if($('slides'))
		{
			var divs = $('slides').getElementsByTagName('div');
			var i;
			for (i = 0; i < quant; i++) { //divs.length
				if (divs[i].className == 'visible') 
				{
					divs[i].className = 'hidden';
					$('link' + (i + 1)).className = 'inativo';
					
					//i = (i == divs.length - 1) ? 0 : i + 1;
		
					i = (i == quant - 1) ? 0 : i + 1;
					divs[i].className = 'visible';
					$('link' + (i+1)).className = 'ativo';
					//break;
				}
			}
		}
	}
	catch(e){}
}


function inicia_slides(quant) 
{
  try
  {
    num = quant;
    if($('links'))
    {
      var as = $('links').getElementsByTagName('a');
      var i;
      for (i = 0; i < as.length; i++) 
      {
        var f = function(v) 
        {
          setSlide(as[v]);
        }
        addEvent(as[i], 'click', f.bind(this, i));
      }
      tempo = setInterval('nextSlide(num)', intervalo);
    }
  }
  catch(e){}
}

function setSlide(link) {
	var divs = $('slides').getElementsByTagName('div');
	var i;
	for (i = 0; i < divs.length; i++) {
		divs[i].className = 'hidden';
	}
	var lis = $('links').getElementsByTagName('li');
	for (i = 0; i < lis.length; i++) {
		lis[i].className = 'inativo';
	}
	link.parentNode.className = 'ativo';
	i = parseInt(link.firstChild.data);
	$('slide' + i).className = 'visible';
	clearInterval(tempo);
}

// addEvent(window, 'load', inicia_slides);
