var animaFestas_velocidade;
var	animaFestas_numLeft = 0;
var animaFestas_numTop = 0;
var contaAnima = 0;
var esqOrig = 0;
var cimaOrig = 0;
var largOrig = 0;
var altrOrig = 0;
var tempFotoPr, tempFotoP, tempFotoP2, tempFotoG, tempControlaSetasDiv;
var xNomeObj, xNomeFundoObj;

var fotoAbertaAtual = 0; // Armazena a posição da foto aberta
var fotoQtdPag = 0; // Qtd de fotoP na pagina em questão

var resolucao = 0;	// Gera a resolução do computador,
					// contendo o valor 1 corresponde à menor ou igual a 800x600,
					// 0 corresponde à maior que essa resolução


// Método que controla as teclas de direita e esquerda
var codigo;

var contFlashGaleria = 0;	// Serve para imprimir o flash mostrando a dica
					  		// de mudar de foto usando as teclas do mouse

var esqOrigDiv;
var cimaOrigDiv;
var contAnimacaoG = 10;
var contAnimacaoP = -800;
var contAnimacaoP2 = 10;

var posPgInicio = 0; // Define a posicao de inicio de quando abrir a galeria ou mudar de pagina
var galeria = 0;

function eInt(valor){
	var er = /^[0-9,\.]+$/;
	return (er.test(valor)) ? true : false;
}

function ajaxGaleriafestas(galeria, pgInicio, fotoPrincipal){
	// Define status do carregando
	aguardarGaleriafestas(true);

	this.posPgInicio = pgInicio;
	this.galeria = galeria;
	
	// Atribui qual foto está no momento
	if (fotoPrincipal > 0) fotoAbertaAtual = fotoPrincipal;
	else fotoAbertaAtual = 0;

	// Verifica a resolução
	if(screen.width >= 1024 && screen.height > 600){
		resolucao = 0;
		var url = nivelUrlSite + "ajax/galeriafestas/galeriafestas.php?galeria="+galeria+"&pgInicio="+pgInicio+"&fotoPrincipal="+fotoPrincipal;
	} else {
		resolucao = 1;
		var url = nivelUrlSite + "ajax/galeriafestas/galeriafestas800x600.php?galeria="+galeria+"&pgInicio="+pgInicio;
	}
	requisicaoHTTP("GET",url,true,4);
}

function ativaMusica(acao){
	if(screen.width >= 1024 && screen.height > 600){
		var dAudio = document.getElementById("divAudio");
		
		if (acao){
			dAudio.style.display = "block";
			dAudio.style.left = "2px";
			dAudio.style.top = "15px";
			dAudio.style.width = "100px";
			dAudio.style.height = "500px";
		} else {
			dAudio.style.display = "block";
			dAudio.style.left = "485px";
			dAudio.style.top = "730px";
			dAudio.style.width = "100px";
			dAudio.style.height = "500px";
		}
	}
}

function aguardarGaleriafestas(exibir) {
	var divCarrega =  document.getElementById("divCarregandoFestas");
	if(exibir)
		divCarrega.style.display = "block";
	else 
		divCarrega.style.display = "none";
}

function trataDadosGaleriaFestas(){
	// Chama objetos
	var info = ajax.responseText;
	var saida = document.getElementById("divJanelaInternaGaleriaFestas");

	// Salva o resultado
	saida.innerHTML = info;

	// Limpa todas as telas abertas (Ex.: SalvarFoto, RecomendarFoto)
	limpaTelasGaleria();
	
	// Anima as fotos pequenas
	// contAnimacaoP2 = 10;
	// animarFotoP();

	// Reinicia para sempre aparecer a animação
	//contAnimacaoG = 10;

	//Cria animação
	//animarDivFotoG(contAnimacaoG + 1);

	// Carrega Primeira Foto
	if(codigo != 39 && codigo != 37) {
		ajaxCarregaFoto('publicidade', this.galeria, this.posPgInicio);
	} else {
		ajaxCarregaFoto('', this.galeria, this.posPgInicio);
	}

	
	// Colocar borda para foto ativa
	var ft = document.getElementById("t"+fotoAbertaAtual);
	if (resolucao != 1){
		ft.style.background = "url(../ajax/galeriafestas/imagens/galeria/imgp_sombra_atual.png)";
	
		// Chama método que controla as teclas de direita e esquerda
		document.onkeyup = controlaSetas;
		
		// Mostra flash contendo dica de como USAR SETAS
		if (this.contFlashGaleria <= 0){
			var divSeta = document.getElementById("divPopUpGaleriaSeta");
			divSeta.innerHTML = exibeFashGaleria('../flash/galeria_seta.swf', '128', '150');
			
			divSeta.style.display = "block";
			this.contFlashGaleria ++;
		}
		
		// Mostra flash contendo dica de como CORTAR FOTO
		var divDicaCortarFoto = document.getElementById("divPopUpDicaCortarFoto");
		divDicaCortarFoto.innerHTML = "<table width='95%' height='100%'><tr><td align='center' height='100%'>'"+exibeFashGaleria('../flash/dica_cortarfoto.swf', '410', '260')+"</td></tr></table>";
	
	
		// Coloca img dizendo que tem Marcação nas fotos pequenas
		var ftM = Array();
		qtdfotos = 6;
		
		for (var i=0; i<qtdfotos; i++){ // qtdfotos é a qtd de fotosP
			ftM[i] = document.getElementById("marcacaoP"+i);
			if (ftM[i].value != ""){
				// captura div's
				var tmp = document.getElementById("f"+i);
				
				var esq = calcularPosJanela(tmp,'offsetLeft');
				var cima = calcularPosJanela(tmp,'offsetTop');
				
				divv = document.getElementById("divMarcacaoP"+i);
				divv.style.left = (3 + esq + parseInt(tmp.width)) + "px";
				divv.style.top = (8 + cima) + "px";
				divv.style.display = "block";
			} else {
				divv = document.getElementById("divMarcacaoP"+i);
				divv.style.display = "none";
			}
		}
	
	} else {
		ft.style.background = "url(../ajax/galeriafestas/imagens/galeria800x600/imgp_sombra_atual.png)";
	}
	
	// Insere Banner Lateral
	if (resolucao != 1){
		var banLateral = document.getElementById("bannerLateral");
		banLateral.innerHTML = exibeFashGaleria('../banners/festas/galeria/banner_lateral.swf', '111', '332', 'opaque');
		
		var banLateral = document.getElementById("bannerLateral2");
		banLateral.innerHTML = exibeFashGaleria('../banners/festas/galeria/banner_lateral2.swf', '111', '332', 'opaque');
	} else {
		var banLateral = document.getElementById("bannerLateral");
		banLateral.innerHTML = exibeFashGaleria('../banners/festas/galeria/banner_lateral800x600.swf', '89', '277', 'opaque');
		
		var banLateral = document.getElementById("bannerLateral2");
		banLateral.innerHTML = exibeFashGaleria('../banners/festas/galeria/banner_lateral2800x600.swf', '89', '277', 'opaque');
	}
	
	// Coloca status do slide como desativado
	ativaSlide = false;

	// Define status do carregando
	aguardarGaleriafestas(false);
	
	//if (this.galeria == 477 && logado != true){
	//	ajaxRestringirGaleria();
	//}
}

function retiraAnimacao(){

	// Prepara o Obj que será manipulado
	var obj =  document.getElementById(xNomeObj);
	var fundoObj = document.getElementById(xNomeFundoObj);
	// Volta a animação e a Posição Inicial
	if (resolucao != 1){
		fundoObj.background = "../ajax/galeriafestas/imagens/galeria/img_sombra.png";
	} else {
		fundoObj.background = "../ajax/galeriafestas/imagens/galeria800x600/img_sombra.png";
	}

	obj.style.position = "absolute";
	obj.style.left = esqOrig;
	obj.style.top = cimaOrig;
}

function animaJanela(nomeObj, nomeFundoObj, status) {
	// Prepara o Obj que será manipulado
	var obj =  document.getElementById(nomeObj);
	var fundoObj = document.getElementById(nomeFundoObj);
	
	xNomeObj = nomeObj;
	xNomeFundoObj = nomeFundoObj;
	
	if (status){
		clearTimeout(tempFotoPr);
	} else {
		tempFotoPr = setTimeout('retiraAnimacao()',100);
	}
	
	// Pega o left e o top do objeto
	var esq = calcularPosJanela(obj,'offsetLeft');
	var cima = calcularPosJanela(obj,'offsetTop');
	
	// Prepara o Obj para ficar flutuando na tela
	if (obj.style.position != "absolute"){
		fundoObj.background = "";
		obj.style.position = "absolute";
		obj.style.left = esqOrig = (esq) + "px";
		obj.style.top = cimaOrig = (cima) + "px";
		
		animaFestas_numLeft = parseInt(obj.style.left);
		animaFestas_numTop = parseInt(obj.style.top);
	} else if (fundoObj.background != ""){
		fundoObj.background = "";
	}
	
	if (contaAnima == 0){
		animaFestas_numLeft-=5;
		obj.style.left=animaFestas_numLeft + "px";
		
		animaFestas_numTop = parseInt(cimaOrig)-5;
		obj.style.top=animaFestas_numTop + "px";
		
		contaAnima++;
	} else if (contaAnima == 1){
		animaFestas_numLeft = parseInt(esqOrig)-5;
		obj.style.left=animaFestas_numLeft + "px";
		
		animaFestas_numTop-=5;
		obj.style.top=animaFestas_numTop + "px";
		
		contaAnima++;
	} else if (contaAnima == 2){
		animaFestas_numLeft+=5;
		obj.style.left=animaFestas_numLeft + "px";
		
		animaFestas_numTop = parseInt(cimaOrig)-5;
		obj.style.top=animaFestas_numTop + "px";
		
		contaAnima++;
	} else if (contaAnima == 3){
		animaFestas_numLeft = parseInt(esqOrig)-5;
		obj.style.left=animaFestas_numLeft + "px";
		
		animaFestas_numTop+=5;
		obj.style.top=animaFestas_numTop + "px";
		
		contaAnima = 0;
	}
}

// Metodo que contem a animação nas foto Grande
function animarDivFotoG(cont){
	// Define a nova contagem para a variavel global
	contAnimacaoG = cont;
	
	// Captura Objeto
	var fP = document.getElementById("fotoPrincipal");

	if (contAnimacaoG < 100){
		fP.style.filter = "alpha(opacity="+contAnimacaoG+")";
		fP.style.opacity = "."+contAnimacaoG;
		tempFotoG=window.setTimeout("animarDivFotoG('"+(parseInt(contAnimacaoG)+30)+"');",1);
	} else {
		// Configura Objeto
		fP.style.filter = "alpha(opacity=99)";
		fP.style.opacity = ".99";

		clearTimeout(tempFotoG);
	}
}

// Carrega foto ao clicar
function carregaFoto(fotoP){
	// Limpa todas as telas abertas (Ex.: SalvarFoto, RecomendarFoto)
	limpaTelasGaleria();
	
	// Armazena a posição da foto aberta
	if (fotoP.substring(0,1) == "f")
		fotoAbertaAtual = fotoP.substring(1,fotoP.length);

	// Chama os objetos
	var fp = document.getElementById(fotoP);

	// Coloca status do slide como desativado
	if (ativaSlide) statusSlide();

	// Muda a foto
	if (resolucao != 1){
		fp.src.replace("ajax/galeriafestas/thumb_p.php?img=../../","")
		fp.src.replace("../../galeria/admin/","../galeria/admin/")
		ajaxCarregaFoto(fp.src);
	}
	else ajaxCarregaFoto(fp.src.replace("ajax/galeriafestas/thumb_p800x600.php?img=../../",""));

	// Modifica borda de foto que está aberta
	// Remove todas as bordas ativas
	var ftTmp = Array();
	
	if (resolucao != 1) var qtdfotos = 6;
	else var qtdfotos = 8;
	
	for (var i=0; i<qtdfotos; i++){ // qtdfotos é a qtd de fotosP
		ftTmp[i] = document.getElementById("t"+i);

		if (resolucao != 1){
			ftTmp[i].style.background = "url(../ajax/galeriafestas/imagens/galeria/imgp_sombra.png)";
		} else {
			ftTmp[i].style.background = "url(../ajax/galeriafestas/imagens/galeria800x600/imgp_sombra.png)";
		}
	}
	
	// Colocar borda para foto ativa
	var ft = document.getElementById(fotoP.replace("f","t"));

	if (resolucao != 1){
		ft.style.background = "url(../ajax/galeriafestas/imagens/galeria/imgp_sombra_atual.png)";
	} else {
		ft.style.background = "url(../ajax/galeriafestas/imagens/galeria800x600/imgp_sombra_atual.png)";
	}
	
	// Reinicia para sempre aparecer a animação
	contAnimacaoG = 10;

	//Cria animação
	//animarDivFotoG(contAnimacaoG + 1);
}

// Animacao ao passar mouse na foto
function passarMouseFotoP(fotoP, acao){
	// Chama os objetos
	var fp = document.getElementById(fotoP);

	// Muda a borda
	if (acao == 1) fp.border = "3";
	else fp.border = "0";
}

// Animação das fotos pequenas quando carregar
function animarFotoP(){
	// Captura Objetos
	var divFotoP = document.getElementById("imagensP");
	var imgs = document.getElementById("imagensP").getElementsByTagName("img");
	
	// Coloca o div das fotos pequenas como flutuante
	if (divFotoP.style.position != "absolute"){
		// Pega o left e o top do objeto
		var esq = calcularPosJanela(divFotoP,'offsetLeft');
		var cima = calcularPosJanela(divFotoP,'offsetTop');

		// Define o obj como absolute (Coloca absolut pq se nao a transparencia nao funciona)
		divFotoP.style.position = "absolute";

		// Armazena o left e top original
		divFotoP.style.left = esqOrigDiv = (esq) + "px";
		divFotoP.style.top = cimaOrigDiv = (cima) + "px";
		
		// Animação 1
//		animarDivFotoP(contAnimacaoP + 1);
		
		// Animação 2
		animarDivFotoP2(contAnimacaoP2 + 1);
	}
		/*
		// Carrega as fotos no intervalo de tempo
		for (i=0; i < imgs.length; i++){
			if (status){
				clearTimeout(tempFotoP);
			} else {
				tempFotoPr = setTimeout('animaDiv()',100);
			}
		}
		*/
}

// Metodo que contem a animação nas fotoP, Usa efeito de Movimentação
function animarDivFotoP(cont){
	// Define a nova contagem para a variavel global
	contAnimacaoP = cont;
	
	// Captura Objeto
	var divFotoP = document.getElementById("imagensP");
	
	// Configura Objeto
	divFotoP.style.left = contAnimacaoP + "px";

	if (contAnimacaoP < parseInt(esqOrigDiv)){
		tempFotoP=window.setTimeout("animarDivFotoP('"+(parseInt(contAnimacaoP)+20)+"');",1);
	}
}

// Metodo que contem a animação nas fotoP, Usa efeito de Transparencia
function animarDivFotoP2(cont){
	// Define a nova contagem para a variavel global
	contAnimacaoP2 = cont;
	
	// Captura Objeto
	var imgs = document.getElementById("imagensP").getElementsByTagName("img");

	if (contAnimacaoP2 < 99){
		// Configura Objeto
		for (i=0; i < imgs.length; i++){
			imgs[i].style.filter = "alpha(opacity="+contAnimacaoP2+")";
			imgs[i].style.opacity = "."+contAnimacaoP2;
		}
		tempFotoP2=window.setTimeout("animarDivFotoP2('"+(parseInt(contAnimacaoP2)+10)+"');",1);
	} else {
		// Configura Objeto
		for (i=0; i < imgs.length; i++){
			imgs[i].style.filter = "alpha(opacity=99)";
			imgs[i].style.opacity = ".99";
		}
		clearTimeout(tempFotoP2);
	}
}

// Fecha a galeria de fotos
function fecharGaleriaFestas(){
	// Desoculta a barra de rolagem
	var bSite = document.getElementById("bodySite");
	bSite.style.overflowY = "visible";
	bSite.style.overflowX = "visible";
	
	// Armazenas os objetos que irão ser apagados
	var objApagar = Array("divJanelaGaleriaFestas", "divJanelaInternaGaleriaFestas", "divPosicaoSlideFestas", "divCarregandoFestas");
	
	for (i=0; i<objApagar.length; i++){
		var tmpObj = document.getElementById(objApagar[i]);
		tmpObj.innerHTML = "";
		tmpObj.style.display = "none";
	}
	
	// Coloca status do slide como desativado
	ativaSlide = false;
	
	// Player de Musica (Ativar)
	ativaMusica(false);
}


// Cria Div Transparente
// Função responsavel por criar os DIV mais interno da galeria, é a primeira coisa a ser executado
function galeriaFestas(idGaleria){
	// Cria os div	
	if (document.getElementById("divJanelaGaleriaFestas") == null)
		criarDiv("divJanelaGaleriaFestas", "janelaTransparente2");
		
	if (document.getElementById("divJanelaInternaGaleriaFestas") == null)
		criarDiv("divJanelaInternaGaleriaFestas", "janelaNormal");
		
	if (document.getElementById("divPosicaoSlideFestas") == null)
		criarDiv("divPosicaoSlideFestas", "janelaNormal"); // Mostra a posição das fotos que for passando
		
	if (document.getElementById("divCarregandoFestas") == null)
		criarDiv("divCarregandoFestas", "janelaNormal");

	// Recupera objetos
	var divPrincipal =  document.getElementById("site");
	var divJanela =  document.getElementById("divJanelaGaleriaFestas");
	var divJanelaInt =  document.getElementById("divJanelaInternaGaleriaFestas");
	var divSlide =  document.getElementById("divPosicaoSlideFestas");
	var divCarrega =  document.getElementById("divCarregandoFestas");

	// Coloca todos os div's como visíveis
	divPrincipal.style.display = "block";
	divJanela.style.display = "block";
	divJanelaInt.style.display = "block";
	
	// Pega as caracteristicas da dimensão da tela
	var esq = calcularPosJanela(divPrincipal,'offsetLeft');
	var cima = calcularPosJanela(divPrincipal,'offsetTop') + divPrincipal.offsetHeight;
	
	// Define as caracteristicas do div carregando e do div slide
	divSlide.style.display = divCarrega.style.display = "none";
	divSlide.style.position = divCarrega.style.position = "absolute";
	divSlide.style.left = divCarrega.style.left = "0px";
	divSlide.style.top = divCarrega.style.top = "0px";
	divSlide.style.width = divCarrega.style.width = "100%";
	divSlide.style.height = divCarrega.style.height = "30px";
	divCarrega.innerHTML = "<table width='100%' height='100%' border='0' cellspacing='0' cellpadding='0'><tr><td background='../ajax/galeriafestas/imagens/galeria/fundo_transparente.png'><strong><span class='subtitulo cor_branca'>&nbsp;&nbsp;Carregando...</span></strong></td><td width='1%' background='../ajax/galeriafestas/imagens/galeria/fundo_btn_fechar.png'><img src='imagens/nada.gif' name='btnFechar' width='82' height='1' border='0' id='btnFechar' /></td></tr></table>";
	
	// Define nova altura da janela transparente
	divJanela.style.height = cima + "px";

	// Define posição da janela branca
	divJanelaInt.style.left = "0%";
	divJanelaInt.style.top = "0%";
	divJanelaInt.style.width = "100%";
	divJanelaInt.style.height = "100%";
	
	/*
	divJanelaInt.style.left = "50%";
	divJanelaInt.style.top = "50%";
	divJanelaInt.style.width = "0%";
	divJanelaInt.style.height = "0%";
	
	animaJanela("divJanelaInternaPortalCadastrar");
	*/
	
	// Oculta a barra de rolagem
	var bSite = document.getElementById("bodySite");
	bSite.style.overflowY = "hidden";
	bSite.style.overflowX = "hidden";
	
	ajaxGaleriafestas(idGaleria,'', '');
	
	// Player de Musica (Ativar)
	ativaMusica(true);
	
	return false;
}

function limpaTelasGaleria(){
	var qdrFotos = document.getElementById("quadroFotos");
	var qdrMenu = document.getElementById("quadroMenu");

	qdrMenu.style.display = "none";
	qdrFotos.style.display = "block";
}

function mudaTelaGaleria(){
	var qdrFotos = document.getElementById("quadroFotos");
	var qdrMenu = document.getElementById("quadroMenu");

	qdrFotos.style.display = "none";
	qdrMenu.style.display = "block";
}

function controlaSetas(e){
	// Detecta o codigo da tecla
	if (!e) var e = window.event;
	
	if (e.keyCode) codigo = e.keyCode;
	else if (e.which) codigo = e.which;
	
	// Configura para seta a direita
	if(codigo == 39) {
		btnProx = document.getElementById("btnFotoPosterior");
		btnProx.onclick();

		return;
	} 
	
	// Configura para seta a esquerda
	if(codigo == 37) {
		btnAnt = document.getElementById("btnFotoAnterior");
		btnAnt.onclick();
		
		return;

	} 
}

function controlaSetasDiv(e){
	// Controla div das teclas de direita e esquerda
 	var imgSetas = document.getElementById('imgSetas');
	var divSetas = document.getElementById('divSetas');
	divSetas.style.display = "none";
}

// ============================================================================
// Chama Flash
// ----------------------------------------------------------------------------
/*
É usado para chamar os flash, evitando o problema do flash no IE
*/
function exibeFashGaleria(swf, width, height, wmode, cache){
	noCache = cache || cache == undefined ? "" : "?" + new Date();
	if (wmode == "" || wmode == undefined) wmode = "transparent";
	//wmode = wmode || wmode == undefined ? "transparent" : "opaque";

	monta_swf = "";
	monta_swf += "<object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0\" width=\""+ width +"\" height=\""+ height +"\" title=\"\">";
	monta_swf += "<param name=\"movie\" value=\""+ swf + noCache +"\" />";
	monta_swf += "<param name=\"quality\" value=\"high\" />";
	//monta_swf += "<param name=\"menu\" value=\"0\" />";
	monta_swf += "<param name=\"wmode\" value=\""+ wmode +"\" />";
	monta_swf += "<embed src=\""+ swf + noCache +"\" quality=\"high\" wmode=\""+ wmode +"\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" type=\"application/x-shockwave-flash\" width=\""+ width +"\" height=\""+ height +"\"></embed>";
	monta_swf += "</object>";
	
	return monta_swf;
}

// ============================================================================
// Configura para desaparecer o div contendo o flash das setas na galeria
// ----------------------------------------------------------------------------
function popUpGaleriaSeta(){
	var popUp = document.getElementById("divPopUpGaleriaSeta");
	popUp.style.display = "none";
}

// ============================================================================
// Configura para desaparecer o div contendo o flash das setas na galeria
// ----------------------------------------------------------------------------
function popUpDicaCortarFoto(acao){
	var popUp = document.getElementById("divPopUpDicaCortarFoto");
	if (acao == 1) popUp.style.display = "block";
	else popUp.style.display = "none";
}