function erro(o, t) {
	
   if (t == 'fornecedores') {	
	var obrigatorios = new Array(['txtRazaoSocial','Razão social'],['optISO','Possui certificação ISO 9000?'],['optNegocio','Possui negócios com empresa do Grupo Votorantim?'],['txtIndicNome','Nome (Indicado por)']);

	var obrigatorios = new Array(['txtRazaoSocial','Razão social'],['txtRamoAtividade','Ramo de atividade'],['txtInicioAtividade','Início de atividade'],['txtCNPJ','CNPJ'],['txtFaturamentoAno','Faturamento anual'],['txtCapitalSocial','Capital social'],['txtEmail','E-mail'],['txtEndereco','Endereço/Cidade/Estado'],['txtSite','Web Site'],['txtContato','Contato'],['txtDDDTelefone','DDD do telefone'],['txtTelefone','Telefone'],['txtDDDFax','DDD do Fax'],['txtFax','Fax'],['cboEscopo','Escopo de Fornecimento'],['optISO','Possui certificação ISO 9000?'],['optNegocio','Possui negócios com empresa do Grupo Votorantim?'],['txtIndicNome','Nome (Indicado por)'],['txtIndicEmpresa','Empresa/Departamento (Indicado por)'],['txtIndicEmail','E-mail (Indicado por)'],['txtIndicDDDFone','DDD do telefone (Indicado por)'],['txtIndicFone','Telefone (Indicado por)'],['txtProdutos','Principais produtos/Serviços'],['txtCertificacoes','Possui outras certificações? Quais?'],['txtPrincipaisClientes','Principais clientes'],['txtPrincipaisClientesCelulose','Principais clientes do setor de Celulose e Papel']);
	//alert(o.id);
	//alert(o.nome.value);
	var msgErr = '';
	var inicioErr = '';
	for(i=0; i<obrigatorios.length; i++) {
		var el = obrigatorios[i][0];
		if(o.elements[el].length){
			if (o.elements[el].selectedIndex==0 || o.elements[el][(o.elements[el].length-1)].checked) {
				//alert(el+" >> BaNG"+" : "+o.elements[el].length);
				inicioErr = 'O(s) seguinte(s) campo(s) deve(m) ser preenchido(s):\n\n';
				msgErr += obrigatorios[i][1]+"\n";
			}
		}else{
			if (o.elements[el].value== '') {
				//alert(el+" : "+o.elements[el].value);
				inicioErr = 'O(s) seguinte(s) campo(s) deve(m) ser preenchido(s):\n\n';
				msgErr += obrigatorios[i][1]+"\n";
			}
		}
	}
	// checagem do email válido
	var temp = emailCheck(o.txtEmail.value,'pt');
	if(temp!=''){
	      msgErr +=("\nE-mail:"+temp);
	}
	
	//
	// checagem do email válido
	var temp = emailCheck(o.txtIndicEmail.value);
	if(temp!=''){
		msgErr +=("\nE-mail (Indicado por):"+temp);
	}
	//
	if(msgErr!=''){
		alert(inicioErr+msgErr);
		return false;
	}else{
		//document.forms[0].submit();
		return true;
	}
   } else if (t == 'faleconoscopt') {
	var obrigatorios = new Array(['area','Área que deseja contatar'],['nome','Nome'],['email','E-mail'],['ddd','DDD'],['telefone','Telefone'],['mensagem','Mensagem']);
	//alert(o.id);
	//alert(o.nome.value);
	var msgErr = '';
	var inicioErr = '';
	for(i=0; i<obrigatorios.length; i++) {
		var el = obrigatorios[i][0];
		if (o.elements[el].value == '' || o.elements[el].selectedIndex==0 || o.elements[el].value == 'nome' || o.elements[el].value == 'e-mail') {
			inicioErr = 'O(s) seguinte(s) campo(s) deve(m) ser preenchido(s):\n\n';
			msgErr += obrigatorios[i][1]+"\n";
		}
	}
	// checagem do email válido
	var temp = emailCheck(o.email.value,'pt');
	//if(temp!=''){
	//      temp +='Caso não deseje preencher o campo email, deixe-o em branco.'
	//}
	msgErr +=temp;
	//
	if(msgErr!=''){
		alert(inicioErr+msgErr);
		return false;
	}else{
		//document.forms[0].submit();
		return true;
	}
   } else if (t == 'faleconoscoen') {
	var obrigatorios = new Array(['area','Select contact area'],['nome','Name'],['email','E-mail'],['ddd','Phone (Prefix)'],['telefone','Phone (Suffix)'],['mensagem','Message']);
	//alert(o.id);
	//alert(o.nome.value);
	var msgErr = '';
	var inicioErr = '';
	for(i=0; i<obrigatorios.length; i++) {
		var el = obrigatorios[i][0];
		if (o.elements[el].value == '' || o.elements[el].selectedIndex==0 || o.elements[el].value == 'name' || o.elements[el].value == 'e-mail') {
			inicioErr = 'The following field(s) must be filled in:\n\n';
			msgErr += obrigatorios[i][1]+"\n";
		}
	}
	// checagem do email válido
	var temp = emailCheck(o.email.value,'en');
	//if(temp!=''){
	//      temp +='Caso não deseje preencher o campo email, deixe-o em branco.'
	//}
	msgErr +=temp;
	//
	if(msgErr!=''){
		alert(inicioErr+msgErr);
		return false;
	}else{
		//document.forms[0].submit();
		return true;
	}
   } else if (t == 'poupancapt') {
	var obrigatorios = new Array(['nome','Nome: (Dados Pessoais)'],['cpfcnpj','CPF / CNPJ'],['inscricao','Inscrição de produtor rural (pessoa física) / Inscrição estadual (pessoa jurídica)'],['ddd','DDD (Dados Pessoais)'],['telefone','Telefone (Dados Pessoais)'],['optparente','Tem parente na Fibria?'],['endereco','Endereço'],['bairro','Bairro'],['estado','Estado'],['municipio','Município'],
['cepi','CEP (Prefixo)'],['cepf','CEP (Sufixo)'],['nome','Nome: (Dados Gerais)'],['areaplantio','Área prevista para plantio (ha)'],['areatotal','Área total da propriedade (ha)'],
['noregistro','Nº de Registro'],['optarrendada','Propriedade arrendada?'],['enderecogerais','Endereço (Dados Gerais)'],['bairrogerais','Bairro (Dados Gerais)'],['municipiogerais','Município (Dados Gerais)'],['estadogerais','Estado (Dados Gerais)'],['cepigerais','CEP - Prefixo (Dados Gerais)'],['cepfgerais','CEP - Sufixo (Dados Gerais)']);
	//alert(o.id);
	//alert(o.nome.value);
	var msgErr = '';
	var inicioErr = '';
	for(i=0; i<obrigatorios.length; i++) {
		var el = obrigatorios[i][0];
		if (o.elements[el].value == '' || o.elements[el].selectedIndex==0 || o.elements[el].value == 'nome' || o.elements[el].value == 'e-mail') {
			inicioErr = 'O(s) seguinte(s) campo(s) deve(m) ser preenchido(s):\n\n';
			msgErr += obrigatorios[i][1]+"\n";
		}
	}
	// checagem do email válido
	var temp = emailCheck(o.email.value,'pt');
	//if(temp!=''){
	//      temp +='Caso não deseje preencher o campo email, deixe-o em branco.'
	//}
	msgErr +=temp;
	//
	if(msgErr!=''){
		alert(inicioErr+msgErr);
		return false;
	}else{
		//document.forms[0].submit();
		return true;
	}
   } else if (t == 'contato-en') {
	var obrigatorios = new Array(['area','Select Contact Area'],['nome','Name'],['email','E-mail'],['ddd','Area code'],['telefone','Phone'],['mensagem','Message']);
	//alert(o.id);
	//alert(o.nome.value);
	var msgErr = '';
	var inicioErr = '';
	for(i=0; i<obrigatorios.length; i++) {
		var el = obrigatorios[i][0];
		if (o.elements[el].value == '' || o.elements[el].selectedIndex==0 || o.elements[el].value == 'nome' || o.elements[el].value == 'e-mail') {
			inicioErr = 'The following fields are required:\n\n';
			msgErr += obrigatorios[i][1]+"\n";
		}
	}
	// checagem do email válido
	var temp = emailCheck(o.email.value,'en');
	//if(temp!=''){
	//      temp +='Caso não deseje preencher o campo email, deixe-o em branco.'
	//}
	msgErr +=temp;
	//
	if(msgErr!=''){
		alert(inicioErr+msgErr);
		return false;
	}else{
		//document.forms[0].submit();
		return true;
	}
   } else if (t == 'news-pt') {
	var obrigatorios = new Array(['nome','Nome'],
			['email','Email']);
	//alert(o.id);
	//alert(o.nome.value);
	var msgErr = '';
	var inicioErr = '';
	for(i=0; i<obrigatorios.length; i++) {
		var el = obrigatorios[i][0];
		if (o.elements[el].value == '' || o.elements[el].selectedIndex==0 || o.elements[el].value == 'nome' || o.elements[el].value == 'e-mail') {
			inicioErr = 'O(s) seguinte(s) campo(s) deve(m) ser preenchido(s):\n\n';
			msgErr += obrigatorios[i][1]+"\n";
		}
	}
	// checagem do email válido
	var temp = emailCheck(o.email.value,'pt');
	//if(temp!=''){
	//	temp +='Caso não deseje preencher o campo email, deixe-o em branco.'
	//}
	msgErr +=temp;
	//
	if(msgErr!=''){
		alert(inicioErr+msgErr);
		return false;
	}else{
		//document.forms[0].submit();
		return true;
	}
   } else if (t == 'news-en') {
	var obrigatorios = new Array(['nome','Name'],
			['email','Email']);
	//alert(o.id);
	//alert(o.nome.value);
	var msgErr = '';
	var inicioErr = '';
	for(i=0; i<obrigatorios.length; i++) {
		var el = obrigatorios[i][0];
		if (o.elements[el].value == '' || o.elements[el].selectedIndex==0 || o.elements[el].value == 'name' || o.elements[el].value == 'e-mail') {
			inicioErr = 'The following fields are required:\n\n';
			msgErr += obrigatorios[i][1]+"\n";
		}
	}
	// checagem do email válido
	var temp = emailCheck(o.email.value,'en');
	//if(temp!=''){
	//	temp +='Caso não deseje preencher o campo email, deixe-o em branco.'
	//}
	msgErr +=temp;
	//
	if(msgErr!=''){
		alert(inicioErr+msgErr);
		return false;
	}else{
		//document.forms[0].submit();
		return true;
	}
   } else if (t == 'rs2009pt') {
	var obrigatorios = new Array(['nome','Nome'],['email','E-mail'],['mensagem','Comentários']);
	var msgErr = '';
	var inicioErr = '';
	for(i=0; i<obrigatorios.length; i++) {
		var el = obrigatorios[i][0];
		if (o.elements[el].value == '' || o.elements[el].selectedIndex==0) {
			inicioErr = 'O(s) campo(s) abaixo são de preenchimento obrigatório:\n\n';
			msgErr += obrigatorios[i][1]+"\n";
		}
	}	
	var temp = emailCheck(o.email.value,'pt');
	msgErr +=temp;
	if(msgErr!=''){
		alert(inicioErr+msgErr);
		return false;
	}else{
		return true;
	}
   } else if (t == 'rs2009en') {
	var obrigatorios = new Array(['nome','Name'],['email','E-mail'],['mensagem','Comments']);
	var msgErr = '';
	var inicioErr = '';
	for(i=0; i<obrigatorios.length; i++) {
		var el = obrigatorios[i][0];
		if (o.elements[el].value == '' || o.elements[el].selectedIndex==0) {
			inicioErr = 'The following field(s) are required:\n\n';
			msgErr += obrigatorios[i][1]+"\n";
		}
	}
	var temp = emailCheck(o.email.value,'en');
	msgErr +=temp;
	if(msgErr!=''){
		alert(inicioErr+msgErr);
		return false;
	}else{
		return true;
	}
   } else if (t == 'pesquisapt') {
	var obrigatorios = new Array(['nome','Nome'],['email','E-mail']);
	var msgErr = '';
	var inicioErr = '';
	var ctr=0;
	
	for (ctr=1; ctr<=13; ctr++) {
		if (ctr < 10) {
			var ref = "p0"+ctr;
		} else {
			var ref = "p"+ctr;
		}
		//if (document.getElementsByName(ref)[0].checked == true) {
		if (document.getElementById(ref).checked == true) {		
			msgErr += "Quesito nº"+ctr+"\n";		
		}
	}	
	
	for(i=0; i<obrigatorios.length; i++) {
		var el = obrigatorios[i][0];
		if (o.elements[el].value == '' || o.elements[el].selectedIndex==0 || o.elements[el].value == 'nome' || o.elements[el].value == 'e-mail') {
			inicioErr = 'O(s) campo(s) abaixo são de preenchimento obrigatório:\n\n';
			msgErr += obrigatorios[i][1]+"\n";
		}
	}	
	var temp = emailCheck(o.email.value,'pt');
	msgErr +=temp;
	if(msgErr!=''){
		alert(inicioErr+msgErr);
		return false;
	}else{
		return true;
	}
   } else { 
	return false;
   }		
}
//

function emailCheck(emailStr,kind){
	if(emailStr!='' && emailStr!='e-mail'){
		var emailPat=/^(.+)@(.+)$/;
		var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]";
		var validChars="\[^\\s" + specialChars + "\]";
		var quotedUser="(\"[^\"]*\")";
		var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
		var atom=validChars + '+';
		var word="(" + atom + "|" + quotedUser + ")";
		var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
		var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
		var returnMsg = new Object();
		//
		var matchArray=emailStr.match(emailPat)
		if (matchArray==null) {
			if (kind == 'pt') { returnMsg= "\nPadrão de e-mail incorreto (verifique @ e '.').\n"; } else { returnMsg= "\nIncorrect email address (verify @ and '.').\n"; }
			//returnMsg['pt'] = "Endereço de email incorreto (verifique @ e '.').";
			//returnMsg.en = "Incorrect email address (verify @ and '.').";
			return returnMsg;
		}
		//
		var user=matchArray[1]
		var domain=matchArray[2]
		//
		// See if "user" is valid 
		//
		if (user.match(userPat)==null) {
			// user is not valid
			if (kind == 'pt') { returnMsg="\nO nome de usuário do e-mail é inválido!\n"; } else { returnMsg="\nInvalid email username.\n"; }
			//returnMsg['pt'] = "Nome de usuário de email inválido.";
			//returnMsg.en = "Invalid email username.";
			return returnMsg;
		}
		//
		var IPArray=domain.match(ipDomainPat);
		if (IPArray!=null) {
		// this is an IP address
			for (var i=1;i<=4;i++) {
				if (IPArray[i]>255) {
					if (kind == 'pt') { returnMsg="\nIP inválido!\n"; } else { returnMsg="\nInvalid IP.\n"; }
					//returnMsg['pt'] = "IP de destino inválido.";
					//returnMsg.en = "Invalid IP.";
					return returnMsg;
				}
			}
		return true
		}
		// Domain is symbolic name
		var domainArray=domain.match(domainPat);
		if (domainArray==null) {
			if (kind == 'pt') { returnMsg="\nNome de domínio inválido!\n"; } else { returnMsg="\nInvalid domain name.\n"; }
			//returnMsg['pt'] = "Nome de domínio inválido.";
			//returnMsg.en = "Invalid domain name.";
			return returnMsg;
		}
		//
		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) {
			if (kind == 'pt') { returnMsg="\nO endereço de e-mail deve terminar no padrão \".xxx\"(Ex: .com ) ou \".xx\"(Ex: .br ).\n"; } else { returnMsg="\nThe email address must end in a three-letter domain or a two-letter country code.\n"; }
			// the address must end in a two letter or three letter word.
			//returnMsg['pt'] = "O endereço de email deve terminar em um domínio de três letras ou um código de país de duas letras.";
			//returnMsg.en = "The email address must end in a three-letter domain or a two-letter country code.";
			return returnMsg;
		}
		// Make sure there's a host name preceding the domain.
		if (len<2) {
			if (kind == 'pt') { returnMsg="\nE-mail sem nome de usuário.\n"; } else { returnMsg="\nAddress without a hostname.\n"; }
			//returnMsg['pt'] = "Endereço sem um 'hostname'!";
			//returnMsg.en = "Address without a hostname.";
			return returnMsg;
		}
		// If we've gotten this far, everything's valid!
		//return true;
		return "";
	}else{
		//alert('email em branco');
		return "";
	}
}
