dojo.addOnLoad(function(){

//djConfig = {
//   parseOnLoad: true,
//    afterOnLoad:true,
//    require: [
//        'dojo.parser',
//        'dojo.fx',
//        'dojox.timing_base',
//        'dijit.layout.StackContainer',
//        'dijit._Container',
//        'dijit.layout.ContentPane'
//        ],
//    isDebug: true
//    };


dojo.require("dijit.layout.StackContainer");
dojo.require("dijit._Container");
dojo.require("dijit.layout.ContentPane");
dojo.require("dojo.fx");
dojo.require("dojox.timing._base"); //Para o timer - Ele que fará o loop
dojo.require("dojo.parser");

    var node_foto = dojo.query("div#slide_fotos")[0];//Necessário no dojo.place 
    var lista_fotos_com_link = dojo.query("a.slide_teste");//Lista com as tags img e seus respectivos links
    var lista_imagens = dojo.query(".foto_slide");//Lista com as tags img que aparecem na pagina principal
    var contador_global = 1; //Contador para manipular cada foto separadamente - necessario para saber seu indice
	
    var Timer = new dojox.timing.Timer();
    Timer.setInterval(1000); /* 1000 miliseconds (1 seg) */
	
	var contador_tempo = null;
    var intervalo = 10; /* Tempo em segundos que a animacao espera para mudar */	
	contador_tempo = intervalo;
	
	//Criando o StackContainer
	var myDijit = new dijit.layout.StackContainer({
		id : "slide_fotos_stack", //ID do StackContainer
		style : "position: absolute;z-index:1;width:522px;height:300px;padding: 0;margin: 0px;border:0;background:#eee;"
	});

	//Preenchendo o StackContainer com as imagens da animação e seus respectivos links
	for(i=0; i<lista_fotos_com_link.length; i++){
		var myPane = new dijit.layout.ContentPane();
		myPane.setContent(lista_fotos_com_link[i]);
		myDijit.addChild(myPane);
	}
	
	//Criando o DOM do controlador da animação e a legenda
	var new_node = document.createElement("div");
	dojo.addClass(new_node,"controlador_slides");
	new_node.innerHTML = "<div class='botoes_slides'><input id='botao_esquerda' type='button' /><input id='botao_direita' type='button' /></div>";
	dojo.place(new_node, node_foto, "first");
	//Criando o DOM para mudar a legenda das fotos
	var node_legenda = dojo.query(".legenda_slide");
	var node_legenda = document.createElement("p");
	dojo.addClass(node_legenda, "legenda_slide");
	dojo.place(node_legenda, new_node, "last");
	
	//Aplicando o background no controlador da animação
	var background_node = document.createElement("div");
	dojo.addClass(background_node,"controlador_slides_background");
	dojo.place(background_node, node_foto, "first");
	dojo.style(background_node,"opacity","0.4");//Aplicando o efeito de opacidade
	//Aplicando o StackContainer no DOM da página
	dojo.place(myDijit.domNode, node_foto, "first");

	//Aplicando a primeira legenda
	node_legenda.innerHTML = lista_imagens[contador_global-1].alt;
					//" (" + contador_global + " de " + lista_imagens.length +")"+"</p>";*/
	
	var aninFunc_esquerda = function(){
		var node = dijit.byId("slide_fotos_stack");
		anim1 = dojo.fadeOut({
            node: node.domNode,
            duration: 500,
            onEnd: function(){
                dijit.byId("slide_fotos_stack").back();
				if(contador_global==1){
					contador_global = lista_fotos_com_link.length;
				}
				else{
					contador_global--;
				}
				node_legenda.innerHTML = lista_imagens[contador_global-1].alt;
            }
        });
        anim2 = dojo.fadeIn({
            node: node.domNode,
            duration: 1000
        });
        anim = dojo.fx.chain([anim1, anim2]).play();
    };
	
	var aninFunc_direita = function(){
	var node = dijit.byId("slide_fotos_stack");
		anim1 = dojo.fadeOut({
            node: node.domNode,
            duration: 500,
            onEnd: function(){
                dijit.byId("slide_fotos_stack").forward();
				if(contador_global>lista_fotos_com_link.length-1){
					contador_global = 1;
				}
				else{
					contador_global++;
				}
				node_legenda.innerHTML = lista_imagens[contador_global-1].alt;
            }
        });
        anim2 = dojo.fadeIn({
            node: node.domNode,
            duration: 500
        });
        anim = dojo.fx.chain([anim1, anim2]).play();
    };
	
	dojo.query("input#botao_esquerda").connect("onclick",function(evt){
	    Timer.stop()
		aninFunc_direita();
		contador_tempo = intervalo*2;/* Recebe um pouco mais de tempo */
		Timer.start();
	});
	
	dojo.query("input#botao_direita").connect("onclick",function(evt){
	    Timer.stop()
		aninFunc_esquerda();
		contador_tempo = intervalo*2;/* Recebe um pouco mais de tempo */
		Timer.start();
	});
	
    Timer.onTick = function(){ /*Funcao que mede o tempo que passou sem que nao haja nenhum clique e faz a mudanca de contentPane*/
        contador_tempo = contador_tempo - 1;
        if (contador_tempo == 0) {
            Timer.stop();
            contador_tempo = intervalo; /*intervalo eh o tempo entre animacoes em segundos */
		    aninFunc_direita();
		    Timer.start();
	    }
    };

	myDijit.startup();
	Timer.start();
});

