
/* CONFIGURAÇÕES
-----------------------------------------------------------------------*/
var imgs_destaque = '.banner img',
	HOME = 'portfolio',
	PAGINA = HOME;
	TITULO = document.title,
	PORTFOLIO_DIV = '.home ul.lista',
	PORTFOLIO_PG = 0,
	PORTFOLIO_FILTRO = 0,
	PAGINAS_ARRAY = [],
	PAGINAS_TAMANHO = 600,
	IS_HOME = true;
	

/* FUNÇÕES NECESSÁRIAS PARA AVISOS
-----------------------------------------------------------------------*/

function alinha_centro(div){
	var posX = Math.round($(div).width() / 2);
	var posY = Math.round($(div).height() / 2);
	
	$(div).css({
		"position" : "fixed",
		"top": '50%',
		"left": '50%',
		"margin-left": - posX,
		"margin-top": - posY,
		"z-index": 1000
	});
}

// gera aviso (como alert);
function aviso(t,m){
	var div = '<div id="div_aviso"></div>';
	$('#div_aviso').remove();
	$('body').append(div);
	$('#div_aviso').html('<h1>' + t + '</h1><p>' + m + '</p><a href="javascript:void(0)" class="f">Fechar</a>');
	
	alinha_centro('#div_aviso');
	
	function fechar(){
		$('#div_aviso').fadeOut('slow',function(){
			$('#div_aviso').remove();
		});
	}
	
	$('#div_aviso').hide();
	$('#div_aviso').fadeIn(500);
	$('#div_aviso a.f').click(function(event){
		event.preventDefault();
		fechar();
	});
}

function debug(msg){
	aviso('Debug',msg);
}

function mostrarCarregando(texto){
	//carregando.show();
	if(texto == undefined){
		texto = 'Carregando...';
	}
	$('#carregando').html(texto);
	$('#carregando').fadeIn(200);
};
	
function ocultarCarregando(){
	$('#carregando').fadeOut(600)
};

/*
function redimensionar(){
	var $hDocumento = $(window).height();
	var $conteudos = $('div.conteudo');
	var $h = $hDocumento - 95;
	$conteudos.height($h);
}

function auto_redimensionar(){
	redimensionar();
	rolar();
}
*/

/* ROLAR O SITE PARA A PAGINA ATUAL
-----------------------------------------------------------------------*/

function rolar($pg){
	$p = '#cont_' + $pg;
	$('html, body').stop().animate({scrollTop: $($p).offset().top}, 1200,'easeInOutExpo');
}

/* AO TROCAR A URL ATUALIZA O SITE
-----------------------------------------------------------------------*/

function efeito_abrir_pagina(){
	// efeito
	var $ef_tempo, 
		$ef_total = 0,
		$ef_atual = 0,
		$ef_array = [];
	$('#cont_' + PAGINA + ' .ef').each(function(index,domEle){
		$ef_array[index] = $(domEle);
	});
	
	$ef_total = $ef_array.length - 1;	
	$ef_tempo = setInterval(function(){
		
		$ef_elemento = $ef_array[$ef_atual];
		
		// faz o efeito no elemento atual
		$ef_elemento.animate({
				opacity : 1
			},
			700,
			function(){
				$(this).removeAttr('style');
			}
		);
		
		// caso seja igual limpa o intervalo
		if($ef_atual >= $ef_total){
			clearInterval($ef_tempo)
		}
		
		//debug('$ef_atual: ' + $ef_atual + '$ef_total: ' + $ef_total);
		
		$ef_atual++;
				
	},140);
}

/* atualiza o site ao clicar em qualquer link ou mudar a URL (#)
-----------------------------------------------------------------------*/

function atualizar(event){
	// arquivo para ser carregado
	var a = event.path.replace('/','');
	if(a == ''){
		a = HOME;
	}
	
	// oculta os itens da página anteior;
	//$('#cont_' + PAGINA + ' .ef').animate({opacity:0},900);
	$('#cont_' + PAGINA + ' .ef').animate({opacity:0},900);
	
	// atualiza a pagina atual
	PAGINA = a;
	if(IS_HOME){
		rolar(PAGINA);
		IS_HOME = false;
	}
	
	// atualiza o menu
	var linkA = $('ul.menu li a[href=#/' + PAGINA + ']');
	$('ul.menu li a.selecionado').removeClass('selecionado');
	$('ul.menu li a[href=#/' + PAGINA + ']').addClass('selecionado');
		
	// caso seja a pagina do portfolio
	if(PAGINA == 'portfolio'){
		$('.menu .submenu').fadeIn(500);
	}else{
		$('.menu .submenu').fadeOut(500);
	}
	
	efeito_abrir_pagina();
	
	SWFAddress.setTitle(TITULO + ' - ' + linkA.attr('title'));
	
}

/* calcula distancia 
-----------------------------------------------------------------------*/

function cacula_distancias($pg,$tipo){
	if($tipo == 'min'){
		$r = $('#cont_' + $pg).offset().top;
	}else{
		$r = $('#cont_' + $pg).offset().top + PAGINAS_TAMANHO;
	}
	
	$m = $(document).height() - $(window).height();
	if($r > $m){
		$r = $m;
	}
	
	return $r;		
}

/* ao rolar o site
-----------------------------------------------------------------------*/

function scroll_site(){
	$nav_scroll = $(window).scrollTop();		
	$n_pagina = PAGINA;
	$pos = '';
	
	for($i = 0; $i < PAGINAS_ARRAY.length; $i++){			
		$nome = PAGINAS_ARRAY[$i];
		$min = cacula_distancias($nome,'min');
		$max = cacula_distancias($nome,'max');	
		if($nav_scroll >= $min && $nav_scroll <= $max){
			$n_pagina = $nome;
		}
		
		$pos += $min + ' - ' + $max + ' / ' ;
		
	}
	
	SWFAddress.setValue($n_pagina);
}

/* carrega os novos projetos do portfolio
-----------------------------------------------------------------------*/

function carrega_portfolio(){
	
	var url_load = "ajax.php?a=listar_portfolio&pg=" + PORTFOLIO_PG + '&cat=' + PORTFOLIO_FILTRO;
	mostrarCarregando();
		
	$.get(url_load, function(loaded){
		ocultarCarregando();
		if(loaded != ''){
			
			$(PORTFOLIO_DIV + ' li').animate(
				{opacity:0},
				400,
				function(){
					// faz aparecer os produtos
					$(PORTFOLIO_DIV).html(loaded);
					atualiza_portfolio();
					// oculta os efeitos
					$(PORTFOLIO_DIV + ' .ef').css({opacity:0});
					efeito_abrir_pagina();					
				}
			)			
			
		}else{
			aviso('Portfólio on-line acabou aqui',' Mas nossos criativos não param nunca! ;)')
		}
	});
}

/* adiciona as funções aos links do portfolio
-----------------------------------------------------------------------*/

function atualiza_portfolio(){
	$(PORTFOLIO_DIV + ' li a').hover(
		function(){
			$(this).children(".info").fadeIn(400);	
		},
		function(){
			$(this).children(".info").fadeOut(400);
		}
	).children("img").css('opacity',.5);
	
	$(PORTFOLIO_DIV + ' li a').colorbox();
	
}


/* EXECUTA AS FUNÇÕES AO CARREGAR O SITE (CÓDIGO FONTE)
-----------------------------------------------------------------------*/
$(document).ready(function(){
	
	ocultarCarregando();
	
	$('.menu li a').each(function(index,domEle){
		$n_l = $(domEle).attr('href').replace('#/','');
		$(domEle).click(function(){
			$l = $(domEle).attr('href').replace('#/','');
			//SWFAddress.setValue($l);
			rolar($l);
			$.colorbox.close();
			return false;
		});
		PAGINAS_ARRAY.push($n_l);
	});
	
	// oculta o sub menu
	$('.menu .submenu').hide();
	
	// oculta os efeitos
	$('.ef').css({opacity:0});
	
	// atualiza o portfolio e coloca as ações nos botoes
	atualiza_portfolio();
	
	// setas portfolio
	$('.home span.seta').click(function(){
		$acao = $(this).text();
		if($acao == 'mais'){
			PORTFOLIO_PG += 1;
		}else{
			PORTFOLIO_PG -= 2;
			if(PORTFOLIO_PG < 0)
				PORTFOLIO_PG = 0;
		}
		
		carrega_portfolio();
		
	})
	
	// filtros
	$('.menu .submenu span').click(function(){
		$filtro = parseInt($(this).attr('id').replace('cat_',''));
		PORTFOLIO_PG = 0;
		PORTFOLIO_FILTRO = $filtro;
		
		$('.menu .submenu span.selecionado').removeClass('selecionado')
		$('.menu .submenu span#cat_' + PORTFOLIO_FILTRO).addClass('selecionado');
		
		carrega_portfolio();
	});
	
	// adiciona evento quando trocar a url
	SWFAddress.addEventListener(SWFAddressEvent.CHANGE, atualizar);
	
	// sobre
	$('.sobre .navegacao span').click(function(){
		
		$arrayPos = [0,790,1580,2410,2700];
		$n = $(this).text();
		$n = parseFloat($n);
		
		$pos = $arrayPos[$n];// * 800;
		
		if($pos > 0)
			$pos = $pos * -1;
		
		$('.sobre .navegacao span.selecionado').removeClass('selecionado');
		$(this).addClass('selecionado');
				
		$('.sobre .lista').animate({marginLeft: $pos + 'px' },700,'easeInOutExpo');
	})
	
	/* EXECUTA AS AÇÕES AO ROLAR A PÁGINA
	-----------------------------------------------------------------------*/
	$(window).scroll(scroll_site);

});

