function fReset(o,p) {
if (o.value==p) { o.value='';}
}
function validate(form,lang) {
var errmsg='', errOut='', posn, ifocuselem, pass=true;
aErro = new Array(8);
switch (lang) {
	case "pt":
		aErro[0] = "\tO Grupo/Empresa\n";
		aErro[1] = "\tA área de actividade\n";
		aErro[2] = "\tO email não está valido\n";
		aErro[3] = "\tNº de hotéis que deseja inscrever\n";
		aErro[4] = "\tNº estabelecimentos\n";		
		aErro[5] = "Por favor, verifique todos os campos obrigatórios:\n";
		aErro[6] = "\tO seu nome de utilizador\n";
		aErro[7] = "\tA sua palavra-passe\n";		
		aErro[8] = "\tO telefone de contacto\n";
	break;
	case "de":
	break;
	case "en":
		aErro[0] = "\tYour name/business\n";
		aErro[1] = "\tYour activity\n";
		aErro[2] = "\tThe email entered is not valid\n";
		aErro[3] = "\tNumber of hotels\n";
		aErro[4] = "\tNumber of branches\n";		
		aErro[5] = "Please check all required fields:\n";
		aErro[6] = "\tYour user name\n";
		aErro[7] = "\tYour password\n";				
		aErro[8] = "\tYour telephone contact\n";
		
	break;
	
}
switch (form.name) {
	case "frm_newsletterSubs":
	for (x=0; x<form.elements.length; x++) {
		switch (form.elements[x].name) {
		case "inputformhomenewsletter":
		if (form.elements[x].value.length >0) {
			posn=form.elements[x].value.indexOf('\u0020');
			if (form.elements[x].value.length < 5) {
				errmsg+=
				ifocuselem=x; }
			else if (posn>=0) {
					errmsg+=aErro[2];
					ifocuselem=x; }
			else {
				var posn=form.elements[x].value.indexOf('@');
				if (posn==-1) {
					errmsg+=aErro[2];
					ifocuselem=x; } 
				else {
				posn=form.elements[x].value.indexOf('.',posn+2);
				if (posn==-1) {
					errmsg+=aErro[2];
					ifocuselem=x;}
				}
			} 
		}
		else {
			errmsg+=aErro[2];
		}
		break;
		}
	}
	break;
	case "frm_ferramentaLogin":
		for (x=0; x<form.elements.length; x++) {
		switch (form.elements[x].name) {
		case "frmTxtUser":
			if (form.elements[x].value.length < 3) {
				errmsg+=aErro[6]
				ifocuselem = x;	
			}
		break;
		case "frmTxtPwd":
			if (form.elements[x].value.length < 3) {
				errmsg+=aErro[7]
				ifocuselem = x;	
			}		
		break;
		}
	}
	break;
	
	case "frm_associado":
	for (x=0; x<form.elements.length; x++) {
		switch (form.elements[x].name) {
		case "inputformhotel1":
			  resval = allDigits(form.elements[x].value);
	 		  if (form.elements[x].value.length == 0 || !resval) { errmsg+=aErro[3];  } 
		break;
		case "inputformhotel6":
	 		  if (form.elements[x].value.length == 0 || (!allDigits(form.elements[x].value))) {
				errmsg+=aErro[4];
			  } 
		break;			
		case "nome":if (form.elements[x].value.length < 3) {
			errmsg+=aErro[1]
			ifocuselem = x;
		}
		break;
		case "email":
		if (form.elements[x].value.length >0) {
			posn=form.elements[x].value.indexOf('\u0020');
			if (form.elements[x].value.length < 5) {
				errmsg+=
				ifocuselem=x; }
			else if (posn>=0) {
					errmsg+=aErro[5];
					ifocuselem=x; }
			else {
				var posn=form.elements[x].value.indexOf('@');
				if (posn==-1) {
					errmsg+=aErro[5];
					ifocuselem=x; } 
				else {
				posn=form.elements[x].value.indexOf('.',posn+2);
				if (posn==-1) {
					errmsg+=aErro[5];
					ifocuselem=x;}
				}
			} 
		}
		else {
			errmsg+=aErro[5];
		}
		break;
		} }
		break;
	case "frm_ferramenta":
	for (x=0; x<form.elements.length; x++) {
		switch (form.elements[x].name) {
		case "inputformferra1":if (form.elements[x].value.length < 3) {
			errmsg+=aErro[0];
			ifocuselem = x;
		}
		break;
		case "inputformferra3":if (form.elements[x].value.length < 6) {
			errmsg+=aErro[8];
			ifocuselem = x;
		}
		break;		
		case "inputformferra9":if (form.elements[x].value.length < 3) {
			errmsg+=aErro[1];
			ifocuselem = x;
		}
		break;		
		case "inputformferra10":if (form.elements[x].value.length < 3) {
			errmsg+=aErro[6];
			ifocuselem = x;
		}
		break;		
		case "inputformferra11":if (form.elements[x].value.length < 3) {
			errmsg+=aErro[7];
			ifocuselem = x;
		}
		break;		
		case "inputformferra6":
		if (form.elements[x].value.length >0) {
			posn=form.elements[x].value.indexOf('\u0020');
			if (form.elements[x].value.length < 5) {
				errmsg+=aErro[2];
				ifocuselem=x; }
			else if (posn>=0) {
					errmsg+=aErro[2];
					ifocuselem=x; }
			else {
				var posn=form.elements[x].value.indexOf('@');
				if (posn==-1) {
					errmsg+=aErro[2];
					ifocuselem=x; } 
				else {
				posn=form.elements[x].value.indexOf('.',posn+2);
				if (posn==-1) {
					errmsg+=aErro[2];
					ifocuselem=x;}
				}
			} 
		}
		else {
			errmsg+=aErro[2];
		}
		break;
		} }
		break;
	
}
if (errmsg!='') {
	errOut= "_______________________________________________________________\n";	
	errOut+=aErro[5];
	errOut+=errmsg;
	errOut+="\n_______________________________________________________________\n";
	alert(errOut);
	if (parseInt(ifocuselem)) eval("form.elements[" + ifocuselem + "].focus();");
	pass=false;
}
else {
	form.submit();	
	pass=true;
}
return (pass);
}
function isDate(dateparam) {
	var elems = dateparam.split("-");   // extrai as 3 componentes da data
	result = (elems.length == 3); // verifica se são 3 componentes
	if (result) {
		var today = new Date();
		var year   = parseInt(elems[0],10);
		var month = parseInt(elems[1],10);
		var day  = parseInt(elems[2],10);
		result    = allDigits(elems[0]) && (elems[0].length == 4) && 
			allDigits(elems[1]) && (month > 0) && (month < 13) &&
			allDigits(elems[2]) && (day > 0) && (day < 32);
	}
	return result;
}
function allDigits(str)
{
	 return inValidCharSet(str,"0123456789");
}
function inValidCharSet(str,charset)
{
	var result = true;
	// Note: doesn't use regular expressions to avoid early Mac browser bugs	
	for (var i=0;i<str.length;i++)
		if (charset.indexOf(str.substr(i,1))<0)
		{
			result = false;
			break;}
	return result;
}


