var cod_menu_selecionado = null;
var pagina_atual = 1;
var parametros_atuais = 1;
var itens_pagina = 0;
var linhas_pagina = 0;
var total_paginas = 1;
var total_itens = 0;
var imagens_carregadas = 0;
var navegacao_painel = new YAHOO.widget.Panel('navegacao_painel', { width:'655px', height:'128px', visible:false, draggable:true, close:false } );

var inicializa = function()
{
	YAHOO.util.Dom.setStyle('menu', 'display', 'none');
	YAHOO.util.Dom.setStyle('rodape', 'display', 'none');
	navegacao_painel.setHeader('Clique em um número para ir direto à página desejada');
	abre_menu(1);
}

var carregando = function(mostra)
{
	YAHOO.util.Dom.setStyle('carregando', 'display', (mostra ? 'block' : 'none'));
	YAHOO.util.Dom.setStyle('img_carregando', 'display', (mostra ? 'block' : 'none'));
	if( !mostra )
	{
		YAHOO.util.Dom.setStyle('inicio', 'display', 'none');
		//var anim_inicio_carregando = new YAHOO.util.Anim('inicio', { opacity: { from: 1, to: 0 } }, 0, YAHOO.util.Easing.easeOut);
		//anim_inicio_carregando.animate();
	}
}

var abre_menu = function(cod_menu, pagina, parametros_adicionais)
{
	if( cod_menu != cod_menu_selecionado )
		navegacao_fechar();
	carregando(true);
	cod_menu_selecionado = cod_menu;
	imagens_carregadas = 0;
	if( pagina )
		pagina_atual = pagina;
	else
		pagina_atual = 1;
	if( parametros_adicionais )
		parametros_atuais = parametros_adicionais;
	else
		parametros_atuais = '';
	YAHOO.util.Connect.asyncRequest('GET', './?c=Home&m=menu&cod_menu=' + cod_menu + ( pagina ? '&pagina=' + pagina : '' ) + ( parametros_adicionais ? parametros_adicionais : '' ), { success: sucesso_conteudo,	failure: erro });
}

var navegacao_voltar = function()
{
	if( pagina_atual > 1 )
		abre_menu(cod_menu_selecionado, pagina_atual - 1, parametros_atuais);
}

var navegacao_avancar = function()
{
	if( pagina_atual < total_paginas )
		abre_menu(cod_menu_selecionado, pagina_atual + 1, parametros_atuais);
}

var navegacao_pagina = function(pagina)
{
	if( pagina != pagina_atual )
		abre_menu(cod_menu_selecionado, pagina, parametros_atuais);
}

var navegacao_retornar = function()
{
	abre_menu(cod_menu_selecionado, pagina_atual, '');
}

var navegacao_html = function()
{

	var corpo = '';

	corpo += '<div class="navegador">';
	corpo += '<table><tr>';

	for( i=1 ; i <= total_paginas ; i++ ) 
	{

		corpo += '<td class="item_navegador' + ( i == pagina_atual ? ' item_navegador_selecionado' : '' ) + '">' 
		corpo += '<a href="#" onclick="navegacao_pagina(' + i + ')">' + i + '</a>';
		corpo += '</td>'; 
		
		if( i % 22 == 0 )
			corpo += '</tr><tr><td style="height:5px"></td></tr><tr>';
		else
			corpo += '<td style="width:5px"></td>';
				
	}
		
	corpo += '</tr></table>';
	corpo += '</div>';
	
	corpo += '<div class="texto_navegador">Pagina ' + pagina_atual + ' de ' + total_paginas + '</div>';
	corpo += '<div id="navegacao_navegador">';
	corpo += '<a id="navegador_voltar" href="#" onclick="navegacao_voltar()"><img id="img_navegador_voltar" class="botao' + ( pagina_atual > 1 ? '' : '_off' ) + '" src="img/i_voltar.gif" alt="VOLTAR" title="" onmouseover="YAHOO.util.Dom.setStyle(\'img_navegador_voltar\', \'filter\', \'alpha(opacity=' + ( pagina_atual > 1 ? '100' : '20' ) + ')\')" onmouseout="YAHOO.util.Dom.setStyle(\'img_navegador_voltar\', \'filter\', \'alpha(opacity=' + ( pagina_atual > 1 ? '60' : '20' ) + ')\')" /></a>&nbsp;';
	corpo += '<a id="navegador_fechar" href="#" onclick="navegacao_fechar()"><img id="img_navegador_fechar" class="botao" src="img/i_fechar.gif" alt="FECHAR" title="" onmouseover="YAHOO.util.Dom.setStyle(\'img_navegador_fechar\', \'filter\', \'alpha(opacity=100)\')" onmouseout="YAHOO.util.Dom.setStyle(\'img_navegador_fechar\', \'filter\', \'alpha(opacity=60)\')" /></a>&nbsp;';
	corpo += '<a id="navegador_avancar" href="#" onclick="navegacao_avancar()"><img id="img_navegador_avancar" class="botao' + ( pagina_atual < total_paginas ? '' : '_off' ) + '" src="img/i_avancar.gif" alt="AVANÇAR" title="" onmouseover="YAHOO.util.Dom.setStyle(\'img_navegador_avancar\', \'filter\', \'alpha(opacity=' + ( pagina_atual < total_paginas ? '100' : '20' ) + ')\')" onmouseout="YAHOO.util.Dom.setStyle(\'img_navegador_avancar\', \'filter\', \'alpha(opacity=' + ( pagina_atual < total_paginas ? '60' : '20' ) + ')\')" /></a>';
	
	corpo += '</div>';

	navegacao_painel.setBody(corpo);
	navegacao_painel.render('container_navegador');

	if( pagina_atual > 1 )
		new YAHOO.widget.Tooltip("hint_navegador_voltar", { context:"navegador_voltar", text:"ANTERIOR" });
		
	new YAHOO.widget.Tooltip("hint_navegador_fechar", { context:"navegador_fechar", text:"FECHAR" });
	
	if( pagina_atual < total_paginas )
		new YAHOO.widget.Tooltip("hint_navegador_avancar", { context:"navegador_avancar", text:"AVANÇAR" });
	
}

var navegacao_abrir = function()
{
	if( total_paginas > 1 )
	{
		navegacao_painel.moveTo((YAHOO.util.Dom.getViewportWidth() / 2 - 327), (YAHOO.util.Dom.getViewportHeight() - 174));
		navegacao_painel.show();
	}
}

var navegacao_fechar = function()
{
	navegacao_painel.hide();
}

function adiciona_js(template)
{

	var script = document.createElement('script');
	script.src = './?c=Home&m=js&template=' + template;
	script.type = 'text/javascript';
	script.id = 'js_' + template;
	script.defer = true;
	
	var head = document.getElementsByTagName('head').item(0);
	var existente = YAHOO.util.Dom.get('js_' + template);
	if ( existente )
		head.removeChild(existente);
	head.appendChild(script);
		
}

function adiciona_js_menu(cod_menu)
{

	var script = document.createElement('script');
	script.src = './?c=Home&m=js&cod_menu=' + cod_menu;
	script.type = 'text/javascript';
	script.id = 'js_menu' + cod_menu;
	script.defer = true;
	
	var head = document.getElementsByTagName('head').item(0);
	var existente = YAHOO.util.Dom.get('js_menu' + cod_menu);
	if ( existente )
		head.removeChild(existente);
	head.appendChild(script);
		
}

var sucesso_conteudo = function(o)
{
	YAHOO.util.Dom.setStyle('bg_personagem', 'display', 'none');
	//YAHOO.util.Dom.setStyle('abre_aspas', 'display', 'none');
	//YAHOO.util.Dom.setStyle('fecha_aspas', 'display', 'none');
	html_conteudo = o.responseText;
	YAHOO.util.Connect.asyncRequest('GET', './?c=Home&m=menu', { success: sucesso_menu,	failure: erro });
}

var sucesso_menu = function(o)
{
	YAHOO.util.Dom.get('menu_itens').innerHTML = o.responseText;
	YAHOO.util.Dom.get('conteudo').innerHTML = html_conteudo;
	adiciona_js_menu('');
	adiciona_js_menu(cod_menu_selecionado);
}

var abre_foto = function(cod_foto)
{
	navegacao_fechar();
	carregando(true);
	YAHOO.util.Connect.asyncRequest('GET', './?c=Home&m=foto&cod_foto=' + cod_foto, { success: sucesso_foto,	failure: erro });
}

var sucesso_foto = function(o)
{
	YAHOO.util.Dom.get('foto').innerHTML = o.responseText;
	adiciona_js('foto');
}

var fecha_foto = function()
{
	YAHOO.util.Dom.setStyle('pegadinha', 'display', 'none');
	YAHOO.util.Dom.setStyle('sombra_foto', 'display', 'none');
	var anim_fecha_foto = new YAHOO.util.Anim('img_foto', { opacity: { from: 1, to: 0 } }, 1, YAHOO.util.Easing.easeOut);
	anim_fecha_foto.onComplete.subscribe(finaliza_foto);
	anim_fecha_foto.animate();
}

var finaliza_foto = function()
{
	carregando(false);
	YAHOO.util.Dom.setStyle('foto', 'display', 'none');
	YAHOO.util.Dom.setStyle('menu', 'display', 'block');
	YAHOO.util.Dom.setStyle('conteudo', 'display', 'block');
	YAHOO.util.Dom.setStyle('rodape', 'display', 'block');
}

var erro = function(o)
{
	carregando(false);
};

var mostra_sombra_foto = function()
{
	YAHOO.util.Dom.setStyle('sombra_foto', 'display', 'block');
}

var carrega_foto = function()
{
	YAHOO.util.Dom.setStyle('foto', 'display', 'block');
	YAHOO.util.Dom.setStyle('pegadinha', 'display', 'block');
	YAHOO.util.Dom.setStyle('sombra_foto', 'display', 'none');
	YAHOO.util.Dom.setStyle('foto', 'width', YAHOO.util.Dom.get('img_foto').width + 'px');
	YAHOO.util.Dom.setStyle('foto', 'height', YAHOO.util.Dom.get('img_foto').height + 'px');
	YAHOO.util.Dom.setX('foto', Math.floor(YAHOO.util.Dom.getViewportWidth() / 2 - YAHOO.util.Dom.get('img_foto').width / 2));
	YAHOO.util.Dom.setY('foto', Math.floor(YAHOO.util.Dom.getViewportHeight() / 2 - YAHOO.util.Dom.get('img_foto').height / 2));
	YAHOO.util.Dom.setStyle('pegadinha', 'width', YAHOO.util.Dom.get('img_foto').width + 'px');
	YAHOO.util.Dom.setStyle('pegadinha', 'height', YAHOO.util.Dom.get('img_foto').height + 'px');
	YAHOO.util.Dom.setStyle('img_pegadinha', 'width', YAHOO.util.Dom.get('img_foto').width + 'px');
	YAHOO.util.Dom.setStyle('img_pegadinha', 'height', YAHOO.util.Dom.get('img_foto').height + 'px');
	YAHOO.util.Dom.setX('pegadinha', Math.floor(YAHOO.util.Dom.getViewportWidth() / 2 - YAHOO.util.Dom.get('img_foto').width / 2));
	YAHOO.util.Dom.setY('pegadinha', Math.floor(YAHOO.util.Dom.getViewportHeight() / 2 - YAHOO.util.Dom.get('img_foto').height / 2));
	YAHOO.util.Dom.setStyle('sombra_foto', 'width', YAHOO.util.Dom.get('img_foto').width + 'px');
	YAHOO.util.Dom.setStyle('sombra_foto', 'height', YAHOO.util.Dom.get('img_foto').height + 'px');
	YAHOO.util.Dom.setX('sombra_foto', Math.floor(YAHOO.util.Dom.getViewportWidth() / 2 - YAHOO.util.Dom.get('img_foto').width / 2) + 3);
	YAHOO.util.Dom.setY('sombra_foto', Math.floor(YAHOO.util.Dom.getViewportHeight() / 2 - YAHOO.util.Dom.get('img_foto').height / 2) + 3);
	YAHOO.util.Dom.setStyle('menu', 'display', 'none');
	YAHOO.util.Dom.setStyle('conteudo', 'display', 'none');
	YAHOO.util.Dom.setStyle('rodape', 'display', 'none');
	carregando(false);
	var anim_carrega_foto = new YAHOO.util.Anim('img_foto', { opacity: { from: 0, to: 1 } }, 1, YAHOO.util.Easing.easeOut);
	anim_carrega_foto.onComplete.subscribe(mostra_sombra_foto);
	anim_carrega_foto.animate();
}

var carrega_miniatura = function(indice)
{

	itens_pagina = YAHOO.util.Dom.get('itens_pagina').value;
	linhas_pagina = YAHOO.util.Dom.get('linhas_pagina').value;
	total_paginas = YAHOO.util.Dom.get('total_paginas').value;
	total_itens = YAHOO.util.Dom.get('total_itens').value;

	imagens_carregadas++;
	
	if( imagens_carregadas == total_itens )
		seta_miniaturas();
		
}

var seta_miniaturas = function()
{

	for( i=1 ; i <= total_itens ; i++ ) 
		seta_miniatura(i);
	carregando(false);
		
}

var seta_miniatura = function(indice)
{

	YAHOO.util.Dom.setStyle('miniatura_' + indice, 'display', 'block');

	var margem_direita = 9;
	var margem_esquerda = 9;
	var margem_cima = 100;
	var margem_baixo = 100;
	
	var largura = YAHOO.util.Dom.get('img_miniatura_' + indice).width;
	var altura = YAHOO.util.Dom.get('img_miniatura_' + indice).height;
	
	var largura_conteudo = YAHOO.util.Dom.getViewportWidth() - margem_direita - margem_esquerda;
	var altura_conteudo = YAHOO.util.Dom.getViewportHeight() - margem_cima - margem_baixo;
	
	var linhas = linhas_pagina;
	var colunas = itens_pagina / linhas;
	
	var linha = Math.ceil(indice / colunas);
	var coluna = (indice - 1) % colunas + 1;
	
	var largura_celula = largura_conteudo / colunas;
	var altura_celula = altura_conteudo / linhas;
	
	YAHOO.util.Dom.setStyle('miniatura_' + indice, 'width', largura + 'px');
	YAHOO.util.Dom.setStyle('sombra_miniatura_' + indice, 'width', largura + 'px');

	YAHOO.util.Dom.setStyle('miniatura_' + indice, 'height', altura + 'px');
	YAHOO.util.Dom.setStyle('sombra_miniatura_' + indice, 'height', altura + 'px');

	YAHOO.util.Dom.setX('miniatura_' + indice, Math.floor( margem_esquerda + (coluna - 1) * largura_celula + ( largura_celula - largura ) / 2 ) );
	YAHOO.util.Dom.setX('sombra_miniatura_' + indice, Math.floor( margem_esquerda + (coluna - 1) * largura_celula + ( largura_celula - largura ) / 2 ) + 3);

	YAHOO.util.Dom.setY('miniatura_' + indice, Math.floor( margem_cima + (linha - 1) * altura_celula + ( altura_celula - altura ) / 2 ) );
	YAHOO.util.Dom.setY('sombra_miniatura_' + indice, Math.floor( margem_cima + (linha - 1) * altura_celula + ( altura_celula - altura ) / 2 ) + 3);
	
}

var anima_menu_rodape = function()
{

	if( YAHOO.util.Dom.getStyle('menu', 'display') == 'block' )
		return;

	YAHOO.util.Dom.setStyle('inicio', 'cursor', 'default');

	YAHOO.util.Dom.setStyle('menu', 'display', 'block');
	YAHOO.util.Dom.setStyle('rodape', 'display', 'block');
	
	YAHOO.util.Dom.setY('menu', -66);
	
	var anim_menu = new YAHOO.util.Anim('menu', { top: { from: -66, to: 0 } }, 1, YAHOO.util.Easing.easeOut);
	var anim_rodape = new YAHOO.util.Anim('rodape', { opacity: { from: 0, to: 1 } }, 1, YAHOO.util.Easing.easeOut);
	
	anim_menu.animate();
	anim_rodape.animate();

}

var posiciona_ensaios = function()
{

	YAHOO.util.Dom.setStyle('ensaios_miniaturas', 'display', 'block');
	YAHOO.util.Dom.setStyle('ensaios_lista', 'display', 'block');
	YAHOO.util.Dom.setStyle('ensaios_capa', 'display', 'block');

	var pos_x = YAHOO.util.Dom.getX('miniatura_1') - ((600 - YAHOO.util.Dom.get('img_miniatura_1').width) / 2);
	var pos_y = YAHOO.util.Dom.getY('miniatura_1') - ((400 - YAHOO.util.Dom.get('img_miniatura_1').height) / 2);
	
	YAHOO.util.Dom.setX('ensaios_miniaturas', pos_x - 138);
	YAHOO.util.Dom.setY('ensaios_miniaturas', pos_y);
	
	YAHOO.util.Dom.setX('ensaios_lista', pos_x + 603);
	YAHOO.util.Dom.setY('ensaios_lista', pos_y);
	
	YAHOO.util.Dom.setX('ensaios_capa', pos_x + 603);
	YAHOO.util.Dom.setY('ensaios_capa', pos_y + 325);
	
}

var abre_capa_ensaio = function(ensaio)
{
	YAHOO.util.Connect.asyncRequest('GET', './?c=Home&m=capa_ensaio' + ( ensaio ? '&ensaio=' + ensaio : '' ), { success: sucesso_capa_ensaio,	failure: erro });
}

var sucesso_capa_ensaio = function(o)
{
	YAHOO.util.Dom.get('ensaios_capa').innerHTML = o.responseText;
}

var abre_ensaio = function(ensaio)
{

        YAHOO.util.Connect.asyncRequest('GET', './?c=Home&m=ensaio&ensaio=' + ensaio, { success: sucesso_conteudo,   failure: erro });

}
