
function initializeAtos(){
    
    // para as listas de atos
    $('select.atos').live('change', function() {
        // remove a opcao inicial
        $(this).find('option[value=-1]').remove();
        // remove o html "ao lado"
        $(this).nextAll().remove();
        getAtos($(this).val());
    });
    
}

function initializePesquisa(){    
    
    // para os campos de pesquisa
    $('select#distritosSelect').change(function() {
        getConcelhos();
        getCategorias();
    });
    
    // para os campos de pesquisa
    $('select#concelhosSelect').change(function() {
        getCategorias();
    });
    
    // quando clicado o botão de pesquisa
    $('input#pesquisaInput').click(function() {
        getProtocolos();
    });
    
    $('.verDetalhes').live('click', function() {
        checkDetalhes(this);
    });
    
    $('.mapa').live('click', function() {
        mostraMapa(this);
    });
}

function escondeMenuNivel2(){
    $('ul#menuLateral > li.nivel2').slideUp();
}

function getMyConteudo(conteudo){
    
    document.defaultForm.conteudo.value = conteudo;
    document.defaultForm.subConteudo.value = "";
    document.defaultForm.submit();

}

function getMySubConteudo(subConteudo){
    
    document.defaultForm.subConteudo.value = subConteudo;
    document.defaultForm.submit();

}

function pesquisaFechaDetalhes(elemento, miliseconds){
    closeNextLinha(elemento, miliseconds);
}

function openNextLinha(elemento, miliseconds){
  
    if(elemento.attr('class') != 'separador'){
        elemento.find('div').slideDown(miliseconds, function(){
            linha = elemento.next();
            openNextLinha(linha, miliseconds);
        });

    }
    
}

function closeNextLinha(elemento, miliseconds){
    
    if(elemento.attr('class') != 'separador'){
        
        elemento.find('div').slideUp(miliseconds, function(){
            linha = elemento.next();
            openNextLinha(linha, miliseconds);
        });

    }
    
}

function beginWaiting(){
    $('div#centro').addClass('waiting');
    $('div#loading').show();
    
}

function endWaiting(){
    $('div#centro').removeClass('waiting');
    $('div#loading').hide();
}


function checkDetalhes(elemento){
    
    miliseconds = 500;
    abrir = $(elemento).find('span').html();
    
    // para ir buscar a linha4
    linha = $(elemento).parent().next('.linha4');
    
    if(abrir == '1') {
        closeNextLinha(linha, miliseconds);
        $(elemento).html('+ detalhes >>');
    } else {
        openNextLinha(linha, miliseconds);
        $(elemento).html('- detalhes << <span>1</span>');
    }
    
}

function mostraMapa(elemento){
    
    jQuery('head').append('<script type="text/javascript" src="js/jquery.simplemodal.1.4.1.min.js"></script>')
       
    var morada = $(elemento).parent().find('input.morada').val();
    var moradaMapa = "'" + morada + "'";
    var empresa = $(elemento).parent().find('input.empresa').val();

    $.modal('<div><img class="imagemParaLoad" src="imagens/pdf.jpeg" onload="initializeMap(' + moradaMapa + ',14);" />'
        + '<div id="dados"><span>' + empresa + '</span><br />'
        + '<span>' + morada + '</span></div>'
        + '<div id="map_canvas"></div></div>');

}

function initializeMap(morada, MyZoom) {
    
    var geocoder = new google.maps.Geocoder();
    var latlng = new google.maps.LatLng(34.397, 150.644);
    
    var myOptions = {
      zoom: MyZoom,
      center: latlng,
      mapTypeId: google.maps.MapTypeId.HYBRID
    };
    
    var map = new google.maps.Map(document.getElementById("map_canvas"),myOptions);
    
    geocoder.geocode( {address:morada + ', Portugal'}, function(results, status) {
      if (status == google.maps.GeocoderStatus.OK) {
        map.setCenter(results[0].geometry.location);
        var marker = new google.maps.Marker({
            map: map,
            position: results[0].geometry.location,
            title:"Estamos aqui!"
        });
      } else {
        alert("Geocode was not successful for the following reason: " + status);
      }
    });
    
    map = new google.maps.Map(document.getElementById("map_canvas"),myOptions);
    
}

//usar apenas para string pequenas
function trim(string){
    return string.replace(/^\s*([\S\s]*)\b\s*$/, '$1');
}
