// Esconde mensagem ou link da status bar
// Exemplo: <a href="http://www.dcm-torresnovas.pt" onMouseover="return escondeStatus()">cmtn</a>
function escondeStatus(){
	var statusMsg=""
	window.status=statusMsg
	return true
}
// *********************************************************************
function RedirectOpener(url)
{
	window.opener.location = url;
	window.close();
}
// *********************************************************************
function abreImpressao(janela)
{
	winImpressao=window.open("/impressao.asp","","width=580,height=450,scrollbars=yes")
	winImpressao.creator=janela
	//*
}
// *********************************************************************
function openpopup(url){
	var popurl = url
	var esq = screen.width/2-210
	var topo = screen.height/2-215
	winpops=window.open(popurl,"CMTN","width=420,height=430,screenX=" + esq + ",left=" + esq + ",screenY=" + topo + ",top=" + topo + ",scrollbars=no")
//	winpops.moveTo(screen.width/2-210,screen.height/2-215)
}// *********************************************************************
function openpopupsize(url,larg,alt){
	var popurl = url
	var esq = screen.width/2-210
	var topo = screen.height/2-215
	var tam="width=" + larg + ",height=" + alt
	winpops=window.open(popurl,"CMTN", tam + ",screenX=" + esq + ",left=" + esq + ",screenY=" + topo + ",top=" + topo + ",scrollbars=no")
//	winpops.moveTo(screen.width/2-210,screen.height/2-215)
}// *********************************************************************
function openpopup640(url){
	var popurl = url
	var esq = screen.width/2-320
	var topo = screen.height/2-215
	winpops=window.open(popurl,"CMTN","width=640,height=430,screenX=" + esq + ",left=" + esq + ",screenY=" + topo + ",top=" + topo + ",scrollbars=yes,status=yes")
}
// *********************************************************************
function openpopupmail(){
	var popurl = '/mailform.asp'
	var esq = screen.width/2-210
	var topo = screen.height/2-215
	winpops=window.open(popurl,"CMTN","width=420,height=430,screenX=" + esq + ",left=" + esq + ",screenY=" + topo + ",top=" + topo + ",scrollbars=no")
}
function openpopupscroll(url){
	var popurl = url
	var esq = screen.width/2-220
	var topo = screen.height/2-215
	winpops=window.open(popurl,"CMTN","width=440,height=430,screenX=" + esq + ",left=" + esq + ",screenY=" + topo + ",top=" + topo + ",scrollbars=yes")
}
// *********************************************************************
function validaInquerito(f) {
	var radios = f.rb
	var ok = false
	for (var i = 0; i < radios.length; i++) 
	{
		if (radios[i].checked)
		{
			ok = true
		}
	}
	if (!ok)
	{
		alert("Por favor, escolha uma opção! Obrigado.")
		return false
	}
	else
	{
		return true
	}
}
// **********************************************************************
function validaFormMensagem(f) {
	if (f.nome.value == "")
  	{
    	alert("Por favor, indique o seu nome! Obrigado.");
		//alert (f.destino.value);
	 	f.nome.focus();
    	return (false);
  	}
	if (f.mensagem.value == "")
  	{
    	alert("Por favor, escreva a sua mensagem! Obrigado.");
	 	f.mensagem.focus();
    	return (false);
  	}
	if (f.email.value != "") {
		//return validaEmailEnter(f)
		return emailCheck(f.email.value)
	}
	return (true);
}
// *********************************************************************
function validaFormPesquisaAccess(f) {
	if (f.palavra.value == "")
  	{
    	alert("Por favor, indique uma palavra a pesquisar! Obrigado.");
	 	f.palavra.focus();
    	return (false);
  	}
	return (true);
}
// *********************************************************************
function validaFormPesquisa(f) {
	if (f.palavra.value == "")
  	{
    	alert("Por favor escreva uma palavra a pesquisar!");
	 	f.palavra.focus();
  	}
	else
	{
		RedireccionaPesquisa()
	}
}
// *********************************************************************
<!-- Changes:  Sandeep V. Tamhankar (stamhankar@hotmail.com) -->
/* 1.1.2: Fixed a bug where trailing . in e-mail address was passing
            (the bug is actually in the weak regexp engine of the browser; I
            simplified the regexps to make it work).
   1.1.1: Removed restriction that countries must be preceded by a domain,
            so abc@host.uk is now legal.  However, there's still the 
            restriction that an address must end in a two or three letter
            word.
     1.1: Rewrote most of the function to conform more closely to RFC 822.
     1.0: Original  */
<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->
function emailCheck (emailStr) {
	/* The following pattern is used to check if the entered e-mail address
	   fits the user@domain format.  It also is used to separate the username
	   from the domain. */
	var emailPat=/^(.+)@(.+)$/
	/* The following string represents the pattern for matching all special
	   characters.  We don't want to allow special characters in the address. 
	   These characters include ( ) < > @ , ; : \ " . [ ]    */
	var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
	/* The following string represents the range of characters allowed in a 
	   username or domainname.  It really states which chars aren't allowed. */
	var validChars="\[^\\s" + specialChars + "\]"
	/* The following pattern applies if the "user" is a quoted string (in
	   which case, there are no rules about which characters are allowed
	   and which aren't; anything goes).  E.g. "jiminy cricket"@disney.com
	   is a legal e-mail address. */
	var quotedUser="(\"[^\"]*\")"
	/* The following pattern applies for domains that are IP addresses,
	   rather than symbolic names.  E.g. joe@[123.124.233.4] is a legal
	   e-mail address. NOTE: The square brackets are required. */
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
	/* The following string represents an atom (basically a series of
	   non-special characters.) */
	var atom=validChars + '+'
	/* The following string represents one word in the typical username.
	   For example, in john.doe@somewhere.com, john and doe are words.
	   Basically, a word is either an atom or quoted string. */
	var word="(" + atom + "|" + quotedUser + ")"
	// The following pattern describes the structure of the user
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
	/* The following pattern describes the structure of a normal symbolic
	   domain, as opposed to ipDomainPat, shown above. */
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")
	/* Finally, let's start trying to figure out if the supplied address is
	   valid. */	
	/* Begin with the coarse pattern to simply break up user@domain into
	   different pieces that are easy to analyze. */
	var matchArray=emailStr.match(emailPat)
	if (matchArray==null) {
	  /* Too many/few @'s or something; basically, this address doesn't
	     even fit the general mould of a valid e-mail address. */
		//alert("Email address seems incorrect (check @ and .'s)")
		alert("Endereço de e-mail incorrecto. \nPor favor verifique os dados inseridos.")
		return false
	}
	var user=matchArray[1]
	var domain=matchArray[2]
	// See if "user" is valid 
	if (user.match(userPat)==null) {
	    // user is not valid
//	    alert("The username doesn't seem to be valid.")
		alert("Endereço de e-mail incorrecto. \nPor favor verifique os dados inseridos.")
	    return false
	}
	/* if the e-mail address is at an IP address (as opposed to a symbolic
	   host name) make sure the IP address is valid. */
	var IPArray=domain.match(ipDomainPat)
	if (IPArray!=null) {
	    // this is an IP address
		  for (var i=1;i<=4;i++) {
		    if (IPArray[i]>255) {
		        //alert("Destination IP address is invalid!")
				alert("Endereço de e-mail incorrecto. \nPor favor verifique os dados inseridos.")
			return false
		    }
	    }
	    return true
	}
	// Domain is symbolic name
	var domainArray=domain.match(domainPat)
	if (domainArray==null) {
//		alert("The domain name doesn't seem to be valid.")
		alert("Endereço de e-mail incorrecto. \nPor favor verifique os dados inseridos.")
	    return false
	}
	/* domain name seems valid, but now make sure that it ends in a
	   three-letter word (like com, edu, gov) or a two-letter word,
	   representing country (uk, nl), and that there's a hostname preceding 
	   the domain or country. */
	/* Now we need to break up the domain to get a count of how many atoms
	   it consists of. */
	var atomPat=new RegExp(atom,"g")
	var domArr=domain.match(atomPat)
	var len=domArr.length
	if (domArr[domArr.length-1].length<2 || 
	    domArr[domArr.length-1].length>3) {
	   // the address must end in a two letter or three letter word.
//	   alert("The address must end in a three-letter domain, or two letter country.")
	   alert("Endereço de e-mail incorrecto. \nPor favor verifique os dados inseridos.")
	   return false
	}
	// Make sure there's a host name preceding the domain.
	if (len<2) {
//	   var errStr="This address is missing a hostname!"
	   alert("Endereço de e-mail incorrecto. \nPor favor verifique os dados inseridos.")
//	   alert(errStr)
	   return false
	}
	// If we've gotten this far, everything's valid!
	return true;
}
// *********************************************************************
function validaEmailEnter2(f){
	//Advanced Email Check credit-
	//By JavaScript Kit (http://www.javascriptkit.com)
	//Over 200+ free scripts here!
//	var testresults
//	var str=f.email.value
//	var filter=/^(\w+(?:\.\w+)*)@((?:\w+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
//	if (filter.test(str))
//		testresults=true
//	else
//	{
//		alert("Por favor indique o seu e-mail correctamente!")
//		testresults=false
//	}
//	return (testresults)
}
// *********************************************************************
function RedireccionaPesquisa()
{
	var browser = navigator.appName.charAt(0);
	switch(browser)
	{
		case "N":
			var escolha = document.FormPesquisa.seccao.selectedIndex;
			escolha = document.FormPesquisa.seccao[escolha].value;
			break;
		case "M":
			var escolha = document.FormPesquisa.seccao.value;
			break;
	}
	switch(escolha)
	{
	case '0':
		document.FormPesquisa.action="/pesquisas/pesquisa.asp";
		document.FormPesquisa.submit();
		break;
	case '1':
		document.FormPesquisa.action="/noticias/noticias_pesquisa.asp";
		document.FormPesquisa.submit();
		break;
	case '2':
		document.FormPesquisa.action="/agenda/agenda_pesquisa.asp";
		document.FormPesquisa.submit();
		break;
	}
}
// *********************************************************************
function imprime() {
	var agt=navigator.userAgent.toLowerCase();	
	if (window.print) {
		setTimeout('window.print();',200);
	}
	else if (agt.indexOf("mac") != -1) 
		{
			alert("Pressione 'Cmd+p' no seu teclado para imprimir este artigo.");
		}
		else 
		{
			alert("Pressione 'Ctrl+p' no seu teclado para imprimir este artigo.")
		}
}
