jQuery(function( $ ){
	//efeito easing
	$.easing.elasout = function(x, t, b, c, d) {
		var s=1.70158;var p=0;var a=c;
		if (t==0) return b;  
		if ((t/=d)==1) return b+c;  
		if (!p) p=d*.3;
		if (a < Math.abs(c)) { a=c; var s=p/4; }
		else var s = p/(2*Math.PI) * Math.asin (c/a);
		return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
	};
	
$('#menu a').click(function(){
		$(this).stop();
		local = $(this).attr('href');
		goTo();
		local = $(this).attr('href');
		return false;
	});



	local = $('#geral');
	largMenu = pegarLarguraCSS('#menu');
	iniConteudo = (pegarLarguraCSS('body')-pegarLarguraCSS('#geral'))/2;
	animateMenu(0);
});

var largMenu;//largura do menu
var local;//local inicial do menu
var animado = false;
var iniConteudo;//posicao de inicio do conteudo

// pega posicao atual do scroll
function pegarScrollLeft(){
	if(window.pageXOffset != null)
		return window.pageXOffset;
	if(document.documentElement.scrollLeft != null)
		return document.documentElement.scrollLeft;
	return (null);
}
// pega o tamanho ativo da janela
function tamanhoTela(){
	if(window.innerWidth != null)
		return window.innerWidth - 30;
	if(document.documentElement.clientWidth != null)
		return document.documentElement.clientWidth - 30;
	return (null);
}
//pegar a largura baseado no CSS
function pegarLarguraCSS(id){
	return Number($(id).css('width').split('px')[0]);
}

//tela andar
function goTo(){
	var contX =	$(local).offset().left;
	var andar = Math.round(contX - (tamanhoTela()/2) + (pegarLarguraCSS(local)/2));
	//alert(pegarLarguraCSS(local))
	$.scrollTo( andar, {speed:800, axis:'x', queue:true} );
	animateMenu(andar);
}
//animar menu
function animateMenu(contX){
	//var contX =	$(local).offset().left;
	animado = true;	
	var andar = contX + (tamanhoTela()/2) - (largMenu/2);

	if (andar < iniConteudo){
		andar = iniConteudo;
	}
	else if (andar > (iniConteudo + pegarLarguraCSS('#geral') - largMenu) ) {
		andar = iniConteudo + pegarLarguraCSS('#geral') - (tamanhoTela()/2) - (largMenu/2);
	}
	
	$('#menu').animate({left:andar},{ easing:'elasout', duration:1300} );
	
	$('#menu').queue(function () {
        animado = false;
		$(this).dequeue();
    });
}

//eventos
$(window).scroll(function () {
	if (!animado){
		var andar = (pegarScrollLeft() + (tamanhoTela()/2) - (pegarLarguraCSS('#menu')/2));
		
		if (andar < iniConteudo){
			andar = iniConteudo;
		}
		else if (andar > (iniConteudo + pegarLarguraCSS('#geral') - largMenu)){
			andar = pegarLarguraCSS('#geral') - largMenu - iniConteudo;
		}
		
		$('#menu').css('left',andar+'px');
	}
});
$(window).resize(function () {
	$('#menu').stop();
	animateMenu(pegarScrollLeft());
});
