function mostraData () {
	var now = new Date();
	var today = now.getDate();
	var month = now.getMonth();
	var horas = now.getHours();
	var minutos = now.getMinutes();
	var monthName = new Array(12)
		monthName[0]="Janeiro";
		monthName[1]="Fevereiro ";
		monthName[2]="Março ";
		monthName[3]="Abril ";
		monthName[4]="Maio ";
		monthName[5]="Junho ";
		monthName[6]="Julho ";
		monthName[7]="Agosto ";
		monthName[8]="Setembro ";
		monthName[9]="Outubro ";
		monthName[10]="Novembro ";
		monthName[11]="Dezembro ";
	var year = now.getFullYear();

	document.getElementById("data_actual").innerHTML = ((horas < 10) ? "0" + horas : horas) + ":" + ((minutos < 10) ? "0" + minutos : minutos) + " | " + today + " " + monthName[month] + " " + year;
}

/*
 *	Popups
 *
 */
function popup(id) {
	var popup = document.getElementById(id);
	
	if(popup) {
		posicionar(id);
		popup.style.display = (popup.style.display == "none") ? "block" : "none";
		esconderMsgsErroEnvioAmigo();
	}
}

function posicionar(id) {
	var obj = document.getElementById(id);
	var esq, topo;
	
	if(obj) {	
		if (document.documentElement && document.documentElement.scrollTop)
		{
			esq = document.documentElement.scrollLeft;
			topo = document.documentElement.scrollTop;
		}
		else if (document.body)
		{
			esq = document.body.scrollLeft;
			topo = document.body.scrollTop;
		}
	
		esq += 210;
		topo += 95;
	
		obj.style.left = esq + "px";
		obj.style.top = topo + "px";
	}
}

/*
 *	Validação de endereco de email
 *
 */
function mailOK(email) {
	var ok = false;				
	var filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

	if (filter.test(email)) {
		ok = true;
	}
	
	return ok;
}

/*
 *
 *
 */
function esconderMsgsErroEnvioAmigo() {
	esconderMsgErro("valida_email_amigo");
	esconderMsgErro("valida_meu_email");
}

function vazio(id) {
	var elemento = document.getElementById(id);
	var ok = false;
	
	if(elemento.value.length <= 0) {
		ok = true;
	}
	
	return ok;
}

function valor(id) {
	var elemento = document.getElementById(id);
	return elemento.value;
}

function seleccionada(id) {
	var elemento = document.getElementById(id);
	var ok = false;
	
	if(elemento.value == 0) {
		ok = true;
	}
	
	return ok;
}

function mostrarMsgErro(id) {
	var elemento = document.getElementById(id);
	
	if(elemento) {
		elemento.style.display = "block";
	}
}

function esconderMsgErro(id) {
	var elemento = document.getElementById(id);
	
	if(elemento) {
		elemento.style.display = "none";
	}
}

function esconderMensagens() {
	esconderMsgErro("valida_nome_utilizador");
	esconderMsgErro("valida_email");
	esconderMsgErro("valida_pp");
	esconderMsgErro("valida_rpp");
	esconderMsgErro("valida_ps");
	esconderMsgErro("valida_rps");
	esconderMsgErro("valida_cs");
	esconderMsgErro("valida_nome");
	esconderMsgErro("valida_apelido");
	esconderMsgErro("valida_cidade");
	esconderMsgErro("valida_concelho");
}

function compararPalavraPasse() {
	var ok = false;
	
	if(valor("palavra_passe") == valor("rep_palavra_passe")) {
		ok = true;
	}
	
	return ok;
}

function novaMsgErro(id, msg) {
	var elemento = document.getElementById(id);
	
	if(elemento) {
		elemento.innerHTML = msg;
	}
}

function validarRegisto() {
	esconderMensagens();
	
	var ok = true;
	
	if(vazio("nome_utilizador")) {
		mostrarMsgErro("valida_nome_utilizador");
		ok = false;
	}
	
	if(vazio("email")) {
		novaMsgErro("valida_email_txt", "*insira um email");
		mostrarMsgErro("valida_email");
		ok = false;
	} else if(!mailOK(valor("email"))) {
		novaMsgErro("valida_email_txt", "*insira um email válido");
		mostrarMsgErro("valida_email");
		ok = false;
	}

	if(vazio("palavra_passe")) {
		mostrarMsgErro("valida_pp");
		ok = false;
	}
	
	if(vazio("rep_palavra_passe")) {
		novaMsgErro("valida_rpp_txt", "*repita a palavra-passe");
		mostrarMsgErro("valida_rpp");
		ok = false;
	} else if(!compararPalavraPasse()) {		
		novaMsgErro("valida_rpp_txt", "*as palavras-passe não condizem");
		mostrarMsgErro("valida_rpp");
		ok = false;		
	}
	
	if(seleccionada("pergunta_secreta")) {
		mostrarMsgErro("valida_ps");
		ok = false;
	}
	
	if(vazio("resp_pergunta_secreta")) {
		mostrarMsgErro("valida_rps");
		ok = false;
	}
	
	if(vazio("verificacao_codigo_seguranca")) {
		novaMsgErro("valida_cs_txt", "*insira a palavra que está na imagem");
		mostrarMsgErro("valida_cs");
		ok = false;
	} else if(valor("verificacao_codigo_seguranca").toLowerCase() != "aybx") {
		novaMsgErro("valida_cs_txt", "*a palavra está errada");
		mostrarMsgErro("valida_cs");
		ok = false;
	}
	
	if(vazio("nome")) {
		mostrarMsgErro("valida_nome");
		ok = false;
	}
	
	if(vazio("apelido")) {
		mostrarMsgErro("valida_apelido");
		ok = false;
	}
	
	if(vazio("cidade")) {
		mostrarMsgErro("valida_cidade");
		ok = false;
	}
	
	if(vazio("concelho")) {
		mostrarMsgErro("valida_concelho");
		ok = false;
	}
	
	if(ok) {
		document.registo_utilizador.submit();
	}
}

function validarSubmissao(){
	var ok = true;
	esconderMsgsErroEnvioAmigo();

	if(vazio("email_amigo")) {
		novaMsgErro("valida_cs_txt", "*preencha o email do(a) amigo(a)");
		mostrarMsgErro("valida_email_amigo");
		ok = false;
	} else if(!mailOK(valor("email_amigo"))) {
		novaMsgErro("valida_email_amigo_txt", "*insira um email válido");
		mostrarMsgErro("valida_email_amigo");
		ok = false;
	}
	
	if(vazio("meu_email")) {
		novaMsgErro("valida_meu_email_txt", "*preencha o seu email");
		mostrarMsgErro("valida_meu_email");
		ok = false;
	} else if(!mailOK(valor("meu_email"))) {
		novaMsgErro("valida_meu_email_txt", "*insira um email válido");
		mostrarMsgErro("valida_meu_email");
		ok = false;
	}

	if(ok) {
		alert("O email foi enviado");
		popup("enviar_amigo");
	}
}

/*
 *	Funções para a ordenação da tabela do directório de contactos
 *
 */
var tipoOrd = 1; 
 
function trocarImagem(id) {
	var nome = "";
	var tipo = 0;
	
	switch(id) {
		case "1": {
			nome = "img_res";
			break;
		}
		
		case "2": {
			nome = "img_tipo";
			break;
		}
		
		case "3": {
			nome = "img_concelho";
			break;
		}		
	}
	
	var img = document.getElementById(nome);

	if(img != null) {
		img.src = (img.src.indexOf("cresc") != -1) ? "imagens/geral/seta_ordenacao.gif" : "imagens/geral/seta_ordenacao_cresc.gif";		
		tipoOrd = (tipoOrd == 1) ? -1 : 1;
	}
}

function sortNome(a, b) {
    var x = a.Nome.toLowerCase();
    var y = b.Nome.toLowerCase();
    return ((x < y) ? tipoOrd : ((x > y) ? (tipoOrd * -1) : 0));
}

function sortTipo(a, b) {
    var x = a.Tipo.toLowerCase();
    var y = b.Tipo.toLowerCase();
    return ((x < y) ? tipoOrd : ((x > y) ? (tipoOrd * -1) : 0));
}

function sortConcelho(a, b) {
    var x = a.Concelho.toLowerCase();
    var y = b.Concelho.toLowerCase();
    return ((x < y) ? tipoOrd : ((x > y) ? (tipoOrd * -1) : 0));
}

function ordenar(id) {
	var tabela = document.getElementsByTagName("table")[0];
	
	if(tabela != null) {
		trocarImagem(id);

		var linha;
		var array = new Array();

		var i;
		for(i = 1; ; i++) {
			linha = tabela.getElementsByTagName("tr")[i];
			
			if(linha == null) {
				break;
			}

			var nomeRestaurante = getNomeRestaurante(linha.getElementsByTagName("td")[0].innerHTML);
			var descricao = linha.getElementsByTagName("td")[0].innerHTML;
			var tipo = linha.getElementsByTagName("td")[1].innerHTML;
			var concelho = linha.getElementsByTagName("td")[2].innerHTML;

			array[i - 1] = {Nome:nomeRestaurante, Descricao:descricao, Tipo:tipo, Concelho:concelho};
		}
		
		if(id == 1) {
			array.sort(sortNome);
		} else if(id == 2) {
			array.sort(sortTipo);
		} else if (id == 3) {
			array.sort(sortConcelho);
		}

		for(i = 0; i < array.length ; i++) {						
			linha = tabela.getElementsByTagName("tr")[i + 1];

			linha.getElementsByTagName("td")[0].innerHTML = array[i]["Descricao"];
			linha.getElementsByTagName("td")[1].innerHTML = array[i]["Tipo"];
			linha.getElementsByTagName("td")[2].innerHTML = array[i]["Concelho"];
		}				
	}			
}

function getNomeRestaurante(str) {
	var er = new RegExp("<a.*>(.*)<\/a>", "i");	
	var nome = er.exec(str);

	if(!nome) {
		return str;
	}
	
	return nome[1];
}



/*
 *	Funções de alteração do dia da Agenda de Eventos
 *
 */
function mudarEvento(dia) {
	if(document.getElementById("dia_" + dia).className == "seleccionado") {
		return;
	}
	
	alterarSeleccao("dia_", "seleccionado", dia);	
	alterarDiv("evento_", dia);
}

function mudarDia(dia) {
	alterarSeleccao("dia_", "eventos", dia);	
}

/*
 *	Seleccionar / Não seleccionar as Newsletters na página de registo
 *
 */
var seleccionado = 0;
function seleccionarTudo() {
	var newsletters = document.registo_utilizador.newsletter;
	var msg = document.getElementById("seleccionar_tudo");
	
	for (i = 0; i < newsletters.length; i++) {
		newsletters[i].checked = (seleccionado) ? false : true;
	}
	
	msg.innerHTML = (seleccionado) ? "Seleccionar todas as Newsletters" : "Não seleccionar nenhuma Newsletter";
	seleccionado = !(seleccionado);
}

/*
 *	Saca o parametro URL e redirecciona o utilizador para essa página
 *
 */
function getParametro(name) {
	name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
	//
	var regexS = "[\\?&]" + name + "=([^&#]*)";
	var regex = new RegExp( regexS );
	
	return regex.exec( window.location.href );
}
 
function gup(name, mostrarMsg)
{	
	results = getParametro(name);
	area = "residentes";
	
	if(mostrarMsg) {
		alert("Está registado.");				
	}
	
	window.location = (results == null) ? area + ".html" : results[1] + ".html";
}

function gup_reg(name) {
	results = getParametro(name);
	area = "residentes";
	
	
	
	if(results != null) {
		if(results[1].indexOf("comunidades") != -1) {
			area = "comunidades";
		}
		
		if(results[1].indexOf("visitantes") != -1) {
			area = "visitantes";
		}
	}
	
	window.location = (results == null) ? area + "_registo.html" : area + "_registo.html?p=" + results[1];
}

/*
 *	Eliminar locais do mapa
 *
 */
function apagarLocal() {
	var ok = confirm ("Tem a certeza que deseja eliminar este local?");
	
	if (ok) {
		alert ("O local foi eliminado com sucesso!");
	}
}

/*
 *	Funções de ajuste do tamanho da letra
 *
 */
var vez = 1;
var maximo = 4;
var passo = 2;

/*
 * 		:(
 *
 */
function ajustar(id, gen) {
	var div = document.getElementById(id);
	var elemento;
	var tamanho;

	gen = (gen == 1) ? passo : -(passo);

	for(i = 0; i < div.childNodes.length; i++) {

		if(window.getComputedStyle && div.childNodes[i].style) {			
			elemento = div.childNodes[i];
			tamanho = parseInt(document.defaultView.getComputedStyle(elemento, null).getPropertyValue("font-size").substring(0, 2));			
			div.childNodes[i].style.fontSize = (tamanho + gen) + "px";
			
		} else if(div.childNodes[i].currentStyle) {
			elemento = div.childNodes[i];
			
			if(elemento.currentStyle["fontSize"] != "small") {
				tamanho = parseInt(elemento.currentStyle["fontSize"].substring(0, 2));
				div.childNodes[i].style.fontSize = (tamanho + gen) + "px";
			}						
		}
	}
}

function aumentarTexto(id) {
	if(vez <= 4) {
		ajustar(id, 1);
		vez++;
	}
}

function diminuirTexto(id) {
	if(vez > 1) {
		ajustar(id, 0);
		vez--;
	}
}

/*
 *	Filtar Videos
 *
 */
function filtrarVideo() {
	var local = document.filtro_video.local_pesquisa.options[document.filtro_video.local_pesquisa.selectedIndex].text.toLowerCase();
	var tema = document.filtro_video.tema_pesquisa.options[document.filtro_video.tema_pesquisa.selectedIndex].text.toLowerCase();	
	
	var evento1 = document.getElementById("grupo_videos1");
	var evento2 = document.getElementById("grupo_videos2");
		
	if(local == "ponte de lima" && tema == "natureza") {
		evento2.style.display = "block";
		evento1.style.display = "none";
	} else {
		evento1.style.display = "block";
		evento2.style.display = "none";
	}
}

/*
 *	"Enviar" o ficheiro
 *
 */
function enviarFicheiro(id) {
	if(document.upload_ficheiro.termos.checked) {
		var area = "residentes";
		
		alert("O ficheiro foi enviado.");
		
		if(id == 2) {
			area = "visitantes";
		} else if(id == 3) {
			area = "comunidades";
		}
		
		window.location = area + "_galeria_multimedia.html";
		
	} else {
		alert("Deve aceitar os termos e condições antes de enviar o ficheiro.");
	}
}

/*
 *	Adicionar novo local
 *
 */
function adicionarNovoLocal() {
	alert("O local foi adicionado.");
	window.location = "guia_valimar.html";
}

/*
 *	Mudar a imagem do Guia do Habitante
 *
 */
function mudarFundoGuia(perfil, id) {
	var div = document.getElementById("guia_habitante");
	
	if(perfil == 1) {
		pagina = "residentes";
	} else if (perfil == 2) {
		pagina = "visitantes";
	} else {
		pagina = "comunidades";
	}
	
	div.style.backgroundImage = "url(http://www.valimardigital.pt/portal/page/portal/valimardigital/valimardigital_ficheiros/imagens/" + pagina + "/guia_habitante_" + pagina + "_" + id + ".jpg)";
}
 
function mudarGuia(perfil, id) {
	var span = null;
	
	if(document.getElementById("guia_" + id).className == "guia_seleccionado") {
		return;
	}
	
	for(i = 0; ; i++) {
		var elemento = document.getElementById("guia_" + i);

		if(elemento != null) {			
			if(i == id) {
				elemento.className = "guia_seleccionado";
			} else {
				elemento.className = "";
			}			
		} else {
			break;
		}
	}
	
	mudarFundoGuia(perfil, id);

	for(i = 0; ; i++) {
		span = document.getElementById("guia_texto_" + i);

		if(span == null) {
			break;
		}

		if(i == id) {
			span.style.display = (span.style.display == "none") ? "block" : "none";
		} else {
			span.style.display = "none";
		}
	}
}

function pre(id) {
	var pagina;
	
	if(id == 1) {
		pagina = "residentes";
	} else if (id == 2) {
		pagina = "visitantes";
	} else {
		pagina = "comunidades";
	}
	
	i0 = new Image();
	i0.src = "http://www.valimardigital.pt/portal/page/portal/valimardigital/ficheiros" + "/imagens/" + pagina + "/guia_habitante_" + pagina +"_0.jpg";
	
	i1 = new Image();
	i1.src = "http://www.valimardigital.pt/portal/page/portal/valimardigital/ficheiros" + "/imagens/" + pagina + "/guia_habitante_" + pagina +"_1.jpg";

	i2 = new Image();
	i2.src = "http://www.valimardigital.pt/portal/page/portal/valimardigital/ficheiros" + "/imagens/" + pagina + "/guia_habitante_" + pagina +"_2.jpg";
		
	i3 = new Image();
	i3.src = "http://www.valimardigital.pt/portal/page/portal/valimardigital/ficheiros" + "/imagens/" + pagina + "/guia_habitante_" + pagina +"_3.jpg";
		
	i4 = new Image();
	i4.src = "http://www.valimardigital.pt/portal/page/portal/valimardigital/ficheiros" + "/imagens/" + pagina + "/guia_habitante_" + pagina +"_4.jpg";
	
	try {
		document.execCommand("BackgroundImageCache", false, true);
	} catch(err) {}
}

/*
 *	Abrir o popup do Guia Valimar
 *
 */
function abrirGuia() {	
	window.open("guia_valimar.html", "Guia", "width = 920, height = 613, scrollbars = no, resizeable = no, status = no, location = no, toolbar = no");
}

function alterarDiv(nome, id) {
	var i;
	
	for(i = 1; ; i++) {
		var div = document.getElementById(nome + i);
		
		if(div == null) {
			break;
		}
		
		if(i == id) {
			div.style.display = (div.style.display == "none") ? "block" : "none";
		} else {
			div.style.display = "none";
		}
	}
}

function alterarSeleccao(nome, nomeClasse, id) {
	var i;

	for(i = 1; ; i++) {
		var elemento = document.getElementById(nome + i);

		if(elemento != null) {			
			if(i == id) {
				if(elemento.className != "hoje") {
					elemento.className = nomeClasse;
				}
			} else {
				if(elemento.className != "hoje") {
					elemento.className = "";
				}
			}			
		} else {
			break;
		}
	}
}



/*
 * imprimir div
 */


  function imprSelec(conteudo)

  {

  var texto = document.getElementById(conteudo).innerHTML;

  var janimp = window.open(' ', 'popimpr');

  janimp.document.write( texto );

  janimp.document.close();

  janimp.print( );

  janimp.close();

  } 
  
  
   function nimprSelec(nd_conteudo)

  {

  var texto = document.getElementById(nd_conteudo).innerHTML;

  var janimp = window.open(' ', 'popimpr');

  janimp.document.write( texto );

  janimp.document.close();

  janimp.print( );

  janimp.close();

  } 
  
  function controlaTamanho(tipoOp,nomeDivs) {
	
	var elemento;
	var tamanho;
	var o_div=nomeDivs.split("x");
	
	var tamanho_max = 22;
	var tamanho_min = 8;
	
	for (i=0; i<o_div.length; i++) {
		elemento = document.getElementById(o_div[i]);
		tamanho = parseInt(elemento.style.fontSize.replace("px",""));
		
		// para aumentar 
		if (tipoOp == '+') {
			if(tamanho!=tamanho_max) {
				tamanho += 1;
			}
		}
		else if (tipoOp == '-') {
			if(tamanho!=tamanho_min) {
				tamanho -= 1;
			}
		}
			
      	elemento.style.fontSize = tamanho+"px";
	}
	
}

/* showHide - para as páginas de ajuda e faq */

function showHide(elementid){
if (document.getElementById(elementid).style.display == 'none'){
document.getElementById(elementid).style.display = '';
} else {
document.getElementById(elementid).style.display = 'none';
}
}