dyngal={
	thumbsID:'thumbs',
	botoesID:'botoes',
	botaoSel: null,
	
	// Esta função inicializa a página colocando chamadas ajax em dois pontos:
	// 1) Nos botões numerados de páginas da galeria (1, 2, 3, etc.)
	// 2) Em cada um dos thumbnails.
	init:function() {
		if(!document.getElementById || !document.createTextNode){return;}
		
		dyngal.assignAjax(dyngal.thumbsID, dyngal.loadImage);
		dyngal.assignAjax(dyngal.botoesID, dyngal.loadThumbs);
		
		botaoSel=document.getElementById('btn0');
		
		// Como é a capa, desabilito os thumbnails inicialmente
		$('#thumbs').hide();
	},

	// Procura tags <a> em divName e atribui onclick a estas tags que
	// fazem chamadas Ajax ao servidor.
	assignAjax: function(divName, functionName) {
		if(!document.getElementById(divName)){return;}
		div=document.getElementById(divName);
		var gLinks=div.getElementsByTagName('a');
		for(var i=0;i<gLinks.length;i++){
			// Não colocar ajax no botão do vídeo. O player FLV não pode
			// ser carregado com ajax por causa do javascript. O elemento
			// <a> que contém o botão "vídeo" tem o ID "botaovideo"
			// 29/03/09 - consegui usar EMBED, não preciso mais disso...
			//if (gLinks[i] != document.getElementById("botaovideo")) {
			//	DOMhelp.addEvent(gLinks[i],'click',functionName,false);
			//	gLinks[i].onclick=DOMhelp.safariClickFix;
			//}
			
			// 13/04/2011 - Não colocar ajax no botão de wallpaper
			if ((gLinks[i].id == "btn_wallpaper") || (gLinks[i].id == "btn_fotoshd")) {
				continue;
			}

			// Igual ao comando acima, mas é só pra garantir...
			if (($(gLinks[i]).attr('id') == "btn_wallpaper") || ($(gLinks[i]).attr('id') == "btn_fotoshd")) {
				continue;
			}			
			
			if ($(gLinks[i]).attr('alt') != 'vip') {
				DOMhelp.addEvent(gLinks[i],'click',functionName,false);
				gLinks[i].onclick=DOMhelp.safariClickFix;
			}
		}
	},
	
	// Faz uma chamada Ajax que carrega uma imagem do thumbnail.
	loadImage:function(e){
		var t=DOMhelp.getTarget(e);
		if(t.nodeName.toLowerCase()!='a'){
			t=t.parentNode;
		}
		var h=t.getAttribute('href');
		dyngal.doxhr(h,'imagem');
		DOMhelp.cancelClick(e);
	},
	
	// Carrega a página com os thumbnails
	loadThumbs: function(e){
		var t=DOMhelp.getTarget(e);
		if(t.nodeName.toLowerCase()!='a'){
			t=t.parentNode;
		}
		var h=t.getAttribute('href');

		// Este trecho de código abaixo faz a mudança de cor do botão
		// ativo das páginas do ensaio.
		var imgs=t.getElementsByTagName('img');
		var idImagem=imgs[0].getAttribute('id');
		botaoSel.src=botaoSel.src.substring(0, botaoSel.src.length-4) + 'u.jpg';
		imgs[0].src=imgs[0].src.substring(0, imgs[0].src.length-5) + '.jpg';
		botaoSel=imgs[0];
		
		if(botaoSel.getAttribute('id')=='btn0') {
			// botão "CAPA" foi clicado
			//document.getElementById('imagem').innerHTML='<img src="' + idboy + '/capa.jpg" />';
			document.getElementById('imagem').innerHTML=capa;
			$('#thumbs').hide();
		}
		else if(botaoSel.getAttribute('id')=='btnv') {
			// botão "VIDEO" foi clicado
			// A variável "video" abaixo está definida no início, antes de BODY, da páginia "ensaios.php".
			// Esta variável é gerada dinamicamente através da chamada à função Boys::getVideoScript($idboy);
			document.getElementById('imagem').innerHTML=video;
			$('#thumbs').hide();
		}
		else
			$('#thumbs').show();

		// E então faz a chamada ajax
		dyngal.doxhr(h,'thumbs');		
		DOMhelp.cancelClick(e);
	},
	
  // Efetua a chamada ajax no URL passado e joga o conteúdo
  // do html no div container.
  doxhr:function(url,container){
    var request;
    try{
      request = new XMLHttpRequest();
    }catch(error){
      try{
        request = new ActiveXObject("Microsoft.XMLHTTP");
      }catch(error){
        return true;
      }
    }
    request.open('get',url,true);
    request.onreadystatechange=function(){
      if(request.readyState == 1){
		container.innerHTML='Loading...';
      }
	  if(request.readyState == 4){
        if (request.status && /200|304/.test(request.status))
        {
          try {
            dyngal.retrieved(request, container);
          }
          catch(e) {
			alert('Erro ao chamar função dyngal.retrieved!');
		  }
		  
		  // Se este ajax que está sendo retornado é aquele ao clicar nos
		  // botões de números das páginas da galeria, então após carregar
		  // os thumbnails, eu preciso colocar chamadas ajax nestes thumbnails.
          if (container==dyngal.thumbsID)
       		 dyngal.assignAjax(dyngal.thumbsID, dyngal.loadImage);
       		 
        } else{
          dyngal.failed(request);
        }
      }
    }
    request.setRequestHeader('If-Modified-Since','Wed, 05 Apr 2006 00:00:00 GMT');
    request.send(null);
    return false;
  },

  retrieved:function(request,container){
	var data=request.responseText;
	document.getElementById(container).innerHTML=data;
  },
  
  failed:function(request){
    alert('The XMLHttpRequest failed. Status: '+request.status);
    return true;
  }
}
DOMhelp.addEvent(window,'load',dyngal.init,false);

