String.prototype.trim = function()
{
    return this.replace(/(^\s*)|(\s*$)/g, "");
}

browserName = navigator.appName;
browserVer = parseInt(navigator.appVersion);

ns3up = (browserName == "Netscape" && browserVer >= 3);
ie4up = (browserName.indexOf("Microsoft") >= 0 && browserVer >= 4);


function VerificaEmail(obj) 
{
	var validChars, err01,err02, err03, err04, fieldValue, fieldLength;
	var cont = 0, cont2 = 0;
	var Limpar = false;
	
	validChars  = "abcdefghijklmnopqrstuvwxyz"; 
	validChars += "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; 
	validChars += "0123456789.@_-";
	fieldValue  = obj.value; 
	fieldLength = obj.value.length; 
	minLength   = 8; 
	maxLength   = 255; 

	err01   = "Foi encontrado um caracter inválido."; 
	err02   = "Por favor introduza pelo menos " + minLength + " caracteres."; 
	err03   = "Por favor introduza menos que " + maxLength + " caracteres."; 
 
	if ( fieldLength > 0)
	{
		if ( fieldLength < minLength ) 
		{ 
			alert( err02 ); 
			Limpar = true;
		}
		else if (( fieldLength > maxLength ) && ( maxLength > 0 )) 
		{ 
			alert( err03 ); 
			Limpar = true;
		}
		else if (( fieldValue.charAt( 0 ) == "@" ) || ( fieldValue.charAt( fieldLength - 1 ) == "@" )) 
		{
			alert("O Email não é válido !!!"); 
			Limpar = true;
		}
		else 
		{ 
			for( var i=0; i< fieldLength; i++ ) 
			{ 
				if ( validChars.indexOf( fieldValue.charAt( i )) == -1 ) 
				{ 
				    alert( err01 ); 
				    Limpar = true;
				    break; 
				}
				if (fieldValue.charAt( i ) == "@")
					cont++;
				if (fieldValue.charAt( i ) == ".")
					cont2++;
		    } 
			    
		    if (cont2 == 0 )
			{
				alert("O Email não é válido !!!"); 
				Limpar = true;
			}
			else if ( (cont == 0) || (cont > 1) )
		    {
				alert("O Email não é válido !!!"); 
				Limpar = true;		
			}
		} 
    } 
    if(Limpar) obj.focus(); 
}

function VerificaEmailUK(obj) 
{
	var validChars, err01,err02, err03, err04, fieldValue, fieldLength;
	var cont = 0, cont2 = 0;
	var Limpar = false;
	
	validChars  = "abcdefghijklmnopqrstuvwxyz"; 
	validChars += "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; 
	validChars += "0123456789.@_-";
	fieldValue  = obj.value; 
	fieldLength = obj.value.length; 
	minLength   = 8; 
	maxLength   = 255; 

	err01   = "One invalid caracter was found."; 
	err02   = "Please introduce at least " + minLength + " caracters."; 
	err03   = "Please introduce less than " + maxLength + " caracters."; 
 
	if ( fieldLength > 0)
	{
		if ( fieldLength < minLength ) 
		{ 
			alert( err02 ); 
			Limpar = true;
		}
		else if (( fieldLength > maxLength ) && ( maxLength > 0 )) 
		{ 
			alert( err03 ); 
			Limpar = true;
		}
		else if (( fieldValue.charAt( 0 ) == "@" ) || ( fieldValue.charAt( fieldLength - 1 ) == "@" )) 
		{
			alert("The Email is not valid !!!"); 
			Limpar = true;
		}
		else 
		{ 
			for( var i=0; i< fieldLength; i++ ) 
			{ 
				if ( validChars.indexOf( fieldValue.charAt( i )) == -1 ) 
				{ 
				    alert( err01 ); 
				    Limpar = true;
				    break; 
				}
				if (fieldValue.charAt( i ) == "@")
					cont++;
				if (fieldValue.charAt( i ) == ".")
					cont2++;
		    } 
			    
		    if (cont2 == 0 )
			{
				alert("The Email is not valid !!!"); 
				Limpar = true;
			}
			else if ( (cont == 0) || (cont > 1) )
		    {
				alert("The Email is not valid !!!"); 
				Limpar = true;		
			}
		} 
    } 
    if(Limpar) obj.focus(); 
}

function VerificaFone(valor, theForm, nome)
{
				//Validar Ficheiro
				var checkOK = "-() 0123456789";
				var checkStr = valor;
				var allValid = true;
				var decPoints = 0;
				var allNum = "";
				for (i = 0;  i < checkStr.length;  i++)
				{
				  ch = checkStr.charAt(i);
				  for (j = 0;  j < checkOK.length;  j++)
				    if (ch == checkOK.charAt(j))
				      break;
				  if (j == checkOK.length)
				  {
				    allValid = false;
				    break;
				  }
				  allNum += ch;
				}
				if (!allValid)
				{
				  alert("Neste campo apenas são permitidos números, \"-\", \"()\".");
				  theForm[nome].focus();
				  return(false);
				}


}

function VerificaNumUK(valor, theForm, nome) 

{
    //Validar Ficheiro
    var checkOK = "0123456789";
    var checkStr = valor;
    var allValid = true;
    var decPoints = 0;
    var allNum = "";
    for (i = 0; i < checkStr.length; i++) {
        ch = checkStr.charAt(i);
        for (j = 0; j < checkOK.length; j++)
            if (ch == checkOK.charAt(j))
            break;
        if (j == checkOK.length) {
            allValid = false;
            break;
        }
        allNum += ch;
    }
    if (!allValid) {
        alert("Only numbers are allowed.");
         //document.theForm.nome.focus();
        //document.babyStepsForm2.NumDiasrent.focus();
        return (false);
    }


}


//Forms
function trimAll(strValue) {

    var objRegExp = /^\s+|\s+$/g;

    if (objRegExp.test(strValue)) {

        strValue = strValue.replace(objRegExp, '');
        if (strValue.length == 0)
            return strValue;
    }

    objRegExp = /^(\&nbsp\;)+|(\&nbsp\;)+$/g;
    if (objRegExp.test(strValue)) {
        strValue = strValue.replace(objRegExp, '$2');
    }
    return strValue;
}


function AbrirPagina(page, alvo)
{
    if (alvo != '_blank')
    {
        window.location.href=page;
    }
    else
    {
        window.open(page,"Anexo");
    }
	
}


function OpenOptions(j,i,m)
{
	if (document.getElementById(j).style.display == 'block')
	{
		document.getElementById(j).style.display = 'none';
	}	
	else
	{
		document.getElementById(j).style.display = 'block';	
	}
	
	var elem;
	if (i-1 > 0)
		{
			for (k=0; k <= i; k++)
			{
				elem = m+k;
				
				if (elem != j)
					document.getElementById(elem).style.display = 'none';
			}
		}	
}

function CallFaq(vcategoria)
{
	window.location.href="default.asp?flag=10&idmenu=faq&idpagina=6&categoria="+vcategoria;
}


//PreInscrição
function ValidarPI()
{
	var NCamposPreencher = 0;
	var i, strMensagem = "";
	var aMensagem;
	aMensagem = new Array ();
	
	with (document.Form2)
	{  
		var strTemp = p_nome.value;
        strTemp = trimAll(strTemp);
        if ((strTemp.length == 0))
            aMensagem[NCamposPreencher++] = "Nome";
            
		var strTemp2 = p_localidade.value;
        strTemp2 = trimAll(strTemp2);
        if ((strTemp2.length == 0))
			aMensagem[NCamposPreencher++] = "Localidade";	
		
		var strTemp3 = p_telefone.value;
        strTemp3 = trimAll(strTemp3);
        if ((strTemp3.length == 0))	
			aMensagem[NCamposPreencher++] = "Telefone";			
			
		var strTemp4 = p_email.value;
        strTemp4 = trimAll(strTemp4);
        if ((strTemp4.length == 0))	
			aMensagem[NCamposPreencher++] = "E-mail";	
		
		var strTemp5 = p_datanascimento.value;
        strTemp5 = trimAll(strTemp5);
        if ((strTemp5.length == 0))		
			aMensagem[NCamposPreencher++] = "Data de Nascimento";	
		
		if(NCamposPreencher < 1)
		{
			action = "default.asp?flag=6&idmenu=inscricoes&idpagina=7";
			submit();
		}
		else
		{
			if (NCamposPreencher == 1) 
				strMensagem = "Falta o campo : " + aMensagem[NCamposPreencher-1] + ".";
			else if (NCamposPreencher > 1)
			{
				strMensagem = "Faltam os campos : " // Inicio da string
				for (i=0;i<NCamposPreencher-2;i++,strMensagem = strMensagem + aMensagem[i-1] + ", ");
				strMensagem = strMensagem + aMensagem[i] + " e " + aMensagem[i+1] + "."; //Termina a string
			}
			window.alert(strMensagem);		
		}
	}
	document.Form2.p_nome.focus();
}

function LimparPI()
{
	with(document.Form2)
	{
		reset();
		p_nome.focus();
	}
}

function OpenPDF(valorpdf)
{
	if (valorpdf != 0)
	{
		var leftdist = (screen.width - 500) / 2;    // distance to left edge of window
		var topdist = (screen.height - 450) / 2;     // distance to top edge of window
		var sizer = window.open("","","left=" + leftdist + ",top=" + topdist + ",width=800,height=500,scrollbars=no,resizable=no");
		sizer.location = valorpdf;
	}
	
}



function EnviarFormf()
{
	var NCamposPreencher = 0;
	var i, strMensagem = "";
	var aMensagem, msg = "";
	aMensagem = new Array ();
	
	with (document.Formf)
	{  
		
		var strTemp = f_nome.value;
        strTemp = trimAll(strTemp);
        if ((strTemp.length == 0))
			aMensagem[NCamposPreencher++] = "Nome";
		
		var strTemp3 = f_telefone.value;
        strTemp3 = trimAll(strTemp3);
        if ((strTemp3.length == 0))	
			aMensagem[NCamposPreencher++] = "Telefone";			
			
		var strTemp4 = f_email.value;
        strTemp4 = trimAll(strTemp4);
        if ((strTemp4.length == 0))	
			aMensagem[NCamposPreencher++] = "E-mail";	
		
		var strTemp5 = f_idade.value;
        strTemp5 = trimAll(strTemp5);
        if ((strTemp5.length == 0))		
			aMensagem[NCamposPreencher++] = "Idade";	
		
		if ((NCamposPreencher < 1) && (msg == ""))
		{
			action = "default.asp?flag=9&idmenu=formacao&idpagina=8";
			submit();
		}
		else
		{
			if (NCamposPreencher == 1) 
				strMensagem = "Falta o campo : " + aMensagem[NCamposPreencher-1] + ".";
			else if (NCamposPreencher > 1)
			{
				strMensagem = "Faltam os campos : " // Inicio da string
				for (i=0;i<NCamposPreencher-2;i++,strMensagem = strMensagem + aMensagem[i-1] + ", ");
				strMensagem = strMensagem + aMensagem[i] + " e " + aMensagem[i+1] + "."; //Termina a string
			}
			if (msg == "")
				window.alert(strMensagem);		
			else
			{
				if(strMensagem == "")
					window.alert("Um " + msg);		
				else
					window.alert(strMensagem + "\nE um " + msg);		
			}
		}
	}
	document.Formf.f_nome.focus();
}


function Limparf()
{
	with(document.Formf)
	{
		reset();
		f_nome.focus();		
	}
}
