    var tempo;
    var intervalo = 4000; //Intervalo entra as mudanças de slides. Definido em milisegundos.

    function $(campo) 
	{
        return document.getElementById(campo);
    }
    
	//Trecho de código criado por Wilker, pego em http://forum.imasters.com.br/index.php?s=&showtopic=198704&view=findpost&p=660522
    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
    function addEvent(obj, evType, fn) 
	{ 
	//Função adaptada da original de Christian Heilmann, em http://www.onlinetools.org/articles/unobtrusivejavascript/chapter4.html
        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() 
		{
            var divs = $('slides').getElementsByTagName('div');
            var i;
            for (i = 0; i < divs.length; i++) 
			{
                if (divs[i].className == 'visible') 
				{
                    divs[i].className = 'hidden';
                    $('link' + (i + 1)).className = 'inativo'
                    i = (i == divs.length - 1) ? 0 : i + 1;
                    divs[i].className = 'visible';
                    $('link' + (i + 1)).className = 'ativo'
                    break;
                }
            }
        }
        
		function init() 
		{
            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()', intervalo);
            }
            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', init);
