/*

Paulo Henrique Dessimoni
Malagueta/Br Comunicacao

@version 2.0.0  @date 11/10/2011 - sem sub-categorias
@version 1.0.1  @date 20/09/2010
@version 1.0.0  @date 01/04/2010

victoralmeida.com.br

*/

var divFotoW;
var divFotoH;

// Chamado apos o carregamento da pagina
function init(){

	// Cria ouvidor para o resize da janela do navegador
	$(window).resize(function() {
  		//todo
	});
	
    // Preenche o menu
	carregaMenu();
	
}

function animaStart( imgs ){

	// Logo no lugar
	/*$("#div_logo").fadeOut("fast",function(){
		$("#div_logo").css({ left: 15, top: 30, margin-left: 0; margin-top: 0 });
		$("#div_logo").fadeIn();
	});*/
	$("#div_logo").fadeOut(300,function(){
		$("#div_logo").css({ "left": 15, "top": 30, "margin-left": 0, "margin-top": 0 });
		$("#div_logo").fadeIn(300,function(){
			$("#div_menu").fadeIn(300);
		});
	});

    // Ajusta a altura do container da foto
    divFotoH = ( $(document).height() - $("#div_foto").offset().top ) - 70;
    $("#div_foto").height( divFotoH );

    // Ajusta alargura do container da foto
    divFotoW = ( $(document).width() - $("#div_foto").offset().left ) - 15;

    // Posiciona os thumbs abaixo da foto
    $("#div_thumbs").hide();
    $("#div_thumbs").css("top", $("#div_foto").offset().top + $("#div_foto").height() + 10  );
    $("#div_foto").animate( {"width": divFotoW}, 500, function(){ carregaThumbs( imgs ) } );

}

function bio(){
	//$("#foto").hide();
	$("#div_foto").html("");
	abresub(null);
	if( $("#div_thumbs").html() != "" )
        $("#div_thumbs").slideUp(100,function(){ $("#div_thumbs").empty(); });
	$("#div_foto").addClass("carregando");
	$.get('http://www.victoralmeida.com.br/bio.html', function(data) {
		$("#div_foto").removeClass("carregando");
		$("#div_foto").append("<span class='txtBio'>"+data+"</span>");
	} );
}

function carregaMenu( divFotoW ){

	// Gambi
	$("body").append("<div class='opened'>&nbsp;</div>");

    $.getJSON('http://www.victoralmeida.com.br/cms/cms/fotos/json/', function(data) {
    //$.getJSON('http://localhost/victor/cms/cms/fotos/json/', function(data) {
        var ul = $("#div_menu ul");
        $("#div_menu").hide();
        
        // bio
        $(ul).append("<li id='menu-bio'><a href='javascript:bio();'>Bio</a></li>");
        
        // cria os li
        jQuery.each(data.menu,function(index,item){

            // aqui anima, chamando o primeiro item
            if( index == 0 )
                animaStart( item.imgs );

            $(ul).append("<li id='menu-"+index+"'><a href='javascript:void(0);'>"+item.lbl+"</a></li>");
            // Se houverem subs
            if( item.subs != undefined ){
                $(ul).find("#menu-"+index).append("<ul class='subMenu'></ul>");
                var subUl = $(ul).find("#menu-"+index+" ul");
                $(ul).find("#menu-"+index+" > a").click( function(){ marcaClick(this); abresub(subUl) } );
                $(subUl).hide();
                jQuery.each(item.subs,function(z,subitem){
                    $(subUl).append("<li id='menu-"+index+"-"+z+"' ><a href='javascript:void(0);'>"+subitem.lbl+"</a></li>");
                    $(subUl).find("#menu-"+index+"-"+z+" a").click( function(){ marcaClick(this); carregaThumbs( subitem.imgs ) } );
                    //$(ul).find("#menu-"+index+" a").click( function(){ marcaClick(this); abresub(subUl) } );
                });
            // se não, apenas clique normal
            }else{
                $(ul).find("#menu-"+index+" a").click( function(){ marcaClick(this); carregaThumbs( item.imgs ) } );
            }
        });
        $(ul).append("<li id='menu-contato'><a href='javascript:void(0);'>Contato</a></li>");
        $("#menu-contato > a").click(function(){
        	$("#ul_contato").slideDown(300,function(){
        		$("#ul_contato").addClass("opened");
        	});
        });
        $("#menu-contato").append("<ul class='subMenu' id='ul_contato'></ul>");
        $("#ul_contato").hide();
        $("#ul_contato").append("<li>+55 11 3294 1281</li>");
        $("#ul_contato").append("<li><a href='mailto:info@victoralmeida.com.br'>info@victoralmeida.com.br</a></li>");
        
    });
}

// marca o link clicado
function marcaClick( a ){
	$(".clicado").removeClass("clicado");
	$(a).addClass("clicado");
}

// abre sub e volta outro
function abresub( sub ){

	$(".opened").jScrollPaneRemove();

    $(".opened").slideUp(300,function(){//);
	    $(sub).slideDown(300,function(){
	        $(".opened").removeClass("opened");
	        $(sub).addClass("opened");
	        $(sub).jScrollPane({
	        	scrollbarWidth: 2
	        });
	    });
    });

}

// monta thumbs
function carregaThumbs( imgs ){

    if( imgs == undefined ){
        //alert("Fazer aqui sub-menu");
        return;
    }

    // limpa o anterior
    // com animacao
    if( $("#div_thumbs").html() != "" ){
        $("#div_thumbs").slideUp(100,function(){ $("#div_thumbs").empty(); carregaThumbs(imgs); });
        return;
    }

    var primeiraImagem = "";
    var primeiroTexto = "";
    /*
   	 Tamanho agora sera dinamico
    */
    var tumbW = Math.floor( (divFotoW-(3*imgs.length)) / imgs.length);
    if( tumbW > 40 ) tumbW = 40;
    //alert( tumbW );

    jQuery.each(imgs,function(index,item){
        if( index == 0 ){ primeiraImagem = item.img; primeiroTexto = item.txt }
        $("#div_thumbs").append("<a href='javascript:void(0);'><img src='cms/cms/public/tbnail/?c=true&w="+tumbW+"&h=20&f=../../../"+item.tb+"' border='0' width='"+tumbW+"' height='20' /></a>");
        $("#div_thumbs img:last").parent().click( function(){
        		$("#div_thumbs img").css('opacity', 0.3 );
        		$(this).find("img").css('opacity', 1 );
        		carregaFoto( item.img, item.txt );
        	} );
    });
    
    $("#div_thumbs img").css('opacity', 0.3 );
    $("#div_thumbs img:first").css('opacity', 1 );

    $("#div_thumbs").slideDown(100, function(){
    		carregaFoto( primeiraImagem, primeiroTexto )
    	} );

}

// carrega a foto
function carregaFoto( imgUrl, txt ){
    
    $("#div_foto").html("");
    
    if( $("#foto").attr("src") == undefined ){
        $("#div_foto").append("<img id='foto' src='cms/cms/public/tbnail/?c=false&w="+divFotoW+"&h="+(divFotoH-50)+"&f=../../../"+imgUrl+"' /><div id='textinho' style='display:none;'><p>"+txt+"</p></div>");
    }else{
        $("#foto").fadeOut(100,function(){
            $("#foto").remove();
            carregaFoto(imgUrl);
        });
        return;
    }

    $("#foto").hide();
    $("#div_foto").addClass("carregando");
    
	$("#foto").load(function(){	
		//ajustaTamanho( $("#foto"), $("#div_foto") ); // agora eh feito pelo php	
		$("#div_foto").removeClass("carregando");
		$("#foto").fadeIn('normal',function(){ $("#textinho").fadeIn(); });
        reposThumbs($("#foto"));
	});
	
}

// reposiciona os thumbs de acordo com a
// altura da imagem
function reposThumbs( img ){
    
    //$("#div_foto").animate( {"height": $(img).height() + 20}, 500 );
    $("#div_foto").animate( {"height": $(img).height()+10+50}, 500 );
    $("#div_thumbs").animate( {"top": $(img).height()+60+50}, 500 );
    
    // ajusta textinho
	$("#textinho > p").width( $(img).width() );
    
}

// Redimensiona por percentual
function redimPercent( img, p ){
	var w = calculaValor( $(img).width(), p );
	var h = calculaValor( $(img).height(), p );
	$(img).width(w);
	$(img).height(h);
}

// Redimensina at� o tamanho
// permitido
function ajustaTamanho( img, canvas ){
	var p=100;
	while(true){
		redimPercent( img, p );
		if( $(img).width() <= $(canvas).width() && $(img).height() <= $(canvas).height() ){
			reposThumbs(img);
                        break;
                }
		p -= 0.1;
		//console.log("p -> "+p);
	}
	
}

// Calcula percentual
/*function calculaPercentual( img, space ){
	return (space*100)/img;
}*/

// Calcula valor pelo percentual
function calculaValor( valor, percentual ){
	return (valor*percentual)/100;
}

function ativaTeclado(){
	$(document).keydown(function(e){
    if (e.keyCode == 37) { 
       alert( "left pressed" );
       return false;
    }
	});
}

function desativaTeclado(){
	$(document).unbind("keydown");
}



// Chama o init apos o carregamento da pagina
$(document).ready(function(){
	init();
});
