function MM_preloadImages(){ //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function getkey(e)
{
if (window.event)
   return window.event.keyCode;
else if (e)
   return e.which;
else
   return null;
}

function goodchars(e, goods)
{
var key, keychar;
key = getkey(e);

if (key == null) return true;

// get character
keychar = String.fromCharCode(key);
keychar = keychar.toLowerCase();
goods = goods.toLowerCase();

//alert("KEY: " + key);

// check goodkeys
if (goods.indexOf(keychar) != -1)
	return true;

// control keys
if ( key==null || key==0 || key==8 || key==9 || key==13 || key==27 )
   return true;

// else return false
return false;
}
function ValidaCampo(Nome,Tipo) 
{
 	ErrorStr="";
  switch (Tipo)
  {
  	case "Int":
  		var ValidChars = "0123456789";
   		var Char;
			valor = document.getElementById(Nome).value;
   		for (i = 0; i < valor.length; i++){ 
      	Char = valor.charAt(i); 
      	if (ValidChars.indexOf(Char) == -1){
         ErrorStr="Os dados inseridos são incorrectos! Por favor, insira novamente.";
      	 document.getElementById(Nome).value='';
      	 document.getElementById(Nome).focus();
        }
      }
  		break
		case "UserPass":
  		var ValidChars = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
   		var Char;
			valor = document.getElementById(Nome).value;
   		for (i = 0; i < valor.length; i++){ 
      	Char = valor.charAt(i); 
      	if (ValidChars.indexOf(Char) == -1){
         ErrorStr="Os dados inseridos não são válidos para este campo! Só pode inserir numeros ou letras.";
      	 document.getElementById(Nome).value='';
      	 document.getElementById(Nome).focus();
        }
      }
  		break	
		case "Tel":
  		var ValidChars = "0123456789 /-+()";
   		var Char;
			valor = document.getElementById(Nome).value;
   		for (i = 0; i < valor.length; i++){ 
      	Char = valor.charAt(i); 
      	if (ValidChars.indexOf(Char) == -1){
         ErrorStr="Os dados inseridos são incorrectos! Por favor, insira novamente.";
      	 document.getElementById(Nome).value='';
      	 document.getElementById(Nome).focus();
        }
      }
  		break
		case "Tel_Lista":
  		var ValidChars = "0123456789,";
   		var Char;
			valor = document.getElementById(Nome).value;
   		for (i = 0; i < valor.length; i++){ 
      	Char = valor.charAt(i); 
      	if (ValidChars.indexOf(Char) == -1){
         ErrorStr="Os dados inseridos são incorrectos! Por favor, insira novamente.";
      	 document.getElementById(Nome).value='';
      	 document.getElementById(Nome).focus();
        }
      }
  		break									
  	case "Email":
  			if(document.getElementById(Nome).value != ''){
      		if (!/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,4})+$/.test(document.getElementById(Nome).value)){
      	 		ErrorStr="O e-mail está incorrecto! Por favor, insira novamente.";
      			document.getElementById(Nome).value='';
      			document.getElementById(Nome).focus();
      	 	}
				}	
        break
		case "Data":
  			if(document.all(Nome).value != ''){
      		document.all(Nome).value=CorrigeData(document.all(Nome).value);
				}	
        break
		case "DataHora":
  			if(document.all(Nome).value != ''){
      		document.all(Nome).value=CorrigeDataHora(document.all(Nome).value);
				}	
        break
  }
	if (ErrorStr!=""){
		 alert(ErrorStr);
	}
}
function ValidaInscricao(){
	str="";
	if (inscricao.nome.value==""){
		 if (str==""){
		 		str=str+"- Nome\n";		
		 }else{
		 		str=str+"- Nome\n";
		 }
	}
	if (inscricao.telefone.value==""){
		 if (str==""){
		 		str=str+"- Telefone\n";		
		 }else{
		 		str=str+"- Telefone\n";
		 }
	}
	if (str==""){
		 		inscricao.submit();
		 		}
		else{
		 		alert("Os seguintes campos são de preenchimento obrigatório:\n\n"+str);
		 }
}
function ValidaMarcacao(){
	str="";
	if (marcacao.nome.value==""){
		 if (str==""){
		 		str=str+"- Nome\n";		
		 }else{
		 		str=str+"- Nome\n";
		 }
	}
	if (marcacao.telefone.value==""){
		 if (str==""){
		 		str=str+"- Telefone\n";		
		 }else{
		 		str=str+"- Telefone\n";
		 }
	}
	if (str==""){
		 		marcacao.submit();
		 		}
		else{
		 		alert("Os seguintes campos são de preenchimento obrigatório:\n\n"+str);
		 }
}
function ValidaEncomenda(){
	str="";
	if (encomenda.nome.value==""){
		 if (str==""){
		 		str=str+"- Nome\n";		
		 }else{
		 		str=str+"- Nome\n";
		 }
	}
	if (encomenda.endereco.value==""){
		 if (str==""){
		 		str=str+"- Endereco\n";		
		 }else{
		 		str=str+"- Endereco\n";
		 }
	}
	if (encomenda.localidade.value==""){
		 if (str==""){
		 		str=str+"- Localidade\n";		
		 }else{
		 		str=str+"- Localidade\n";
		 }
	}
	if (encomenda.cpostal.value==""){
		 if (str==""){
		 		str=str+"- Codigo Postal\n";		
		 }else{
		 		str=str+"- Codigo Postal\n";
		 }
	}
	if (encomenda.telefone.value==""){
		 if (str==""){
		 		str=str+"- Telefone\n";		
		 }else{
		 		str=str+"- Telefone\n";
		 }
	}
	if (str==""){
		 		encomenda.submit();
		 		}
		else{
		 		alert("Os seguintes campos são de preenchimento obrigatório:\n\n"+str);
		 }
}
function ValidaPontuais(){
	str="";
	if (pontuais.nome.value==""){
		 if (str==""){
		 		str=str+"- Nome\n";		
		 }else{
		 		str=str+"- Nome\n";
		 }
	}
	if (pontuais.telefone.value==""){
		 if (str==""){
		 		str=str+"- Telefone\n";		
		 }else{
		 		str=str+"- Telefone\n";
		 }
	}
	if (str==""){
		 		pontuais.submit();
		 		}
		else{
		 		alert("Os seguintes campos são de preenchimento obrigatório:\n\n"+str);
		 }
}