function isEmail(text){
   var 	arroba = "@",
       	ponto = ".",
	   	posponto = 0,
	   	posarroba = 0;
	
	 if (text =="") return false;
	
	 for (var indice = 0; indice < text.length; indice++){
	 	if (text.charAt(indice) == arroba) {
	 		posarroba = indice;
	      	break;
		 }
	 }
	
	for (var indice = posarroba; indice < text.length; indice++){
		if (text.charAt(indice) == ponto) {
			posponto = indice;
	     	break;
		}
	}
	if (posponto == 0 || posarroba == 0) return false;
	if (posponto == (posarroba + 1)) return false;
	if ((posponto + 1) == text.length) return false;
	return true;
}

function checkCNPJ (StrCGC)
{
	var varFirstChr = StrCGC.charAt(0);
	var vlMult,vlControle,s1, s2 = "";
	var i,j,vlDgito,vlSoma = 0;

	for ( var i=0; i<=13; i++ ) 
	{
		var c = StrCGC.charAt(i);
		if( ! (c>="0")&&(c<="9") )
		{
			alert("Número do CNPJ Inválido!");
			document.fmcadastro.cnpj.focus();
			return false; 
		}
		
		if( c!=varFirstChr ) { vaCharCGC = true; }
	}
	
	if( ! vaCharCGC ) 
	{
		alert("Número do CNPJ Inválido!");
		document.fmcadastro.cnpj.focus();
		return false ;
	}

	s1 = StrCGC.substring(0,12);
	s2 = StrCGC.substring(12,15);
	vlMult = "543298765432";
	vlControle = "";
	
	for ( j=1; j<3; j++ ) 
	{
		vlSoma = 0;

		for ( i=0; i<12; i++ )
		{ 
			vlSoma += eval( s1.charAt(i) )* eval( vlMult.charAt(i) );
		}

		if( j == 2 ){ vlSoma += (2 * vlDgito); }
		vlDgito = ((vlSoma*10) % 11);
		if( vlDgito == 10 ){ vlDgito = 0; }
		vlControle = vlControle + vlDgito;
		vlMult = "654329876543";
	}

	if( vlControle != s2 ) 
	{
		alert("Número do CNPJ Inválido!");
		document.fmcadastro.cnpj.focus();
		return false;
		return false;
	}
	else
	{
	return true;
	}
}

function checkCPF (StrCPF) 
{ 
	x = 0; 
	soma = 0; 
	dig1 = 0; 
	dig2 = 0; 
	texto = ""; 
	StrCPF1=""; 
	len = StrCPF.length; 
	x = len -1; 

	for (var i=0; i <= len - 3; i++) 
	{ 
		y = StrCPF.substring(i,i+1); 
		soma = soma + ( y * x); 
		x = x - 1; 
		texto = texto + y; 
	} 
	
	dig1 = 11 - (soma % 11); 

	if (dig1 == 10) dig1=0 ; 
	if (dig1 == 11) dig1=0 ; 

	StrCPF1 = StrCPF.substring(0,len - 2) + dig1 ; 
	x = 11; soma=0;
	
	for (var i=0; i <= len - 2; i++) 
	{ 
		soma = soma + (StrCPF1.substring(i,i+1) * x); 
		x = x - 1; 
	} 

	dig2= 11 - (soma % 11); 
	
	if (dig2 == 10) dig2=0; 
	if (dig2 == 11) dig2=0; 
	if ((dig1 + "" + dig2) == StrCPF.substring(len,len-2)) 
	{ 
		return true;
	} 

	alert ("Número do CPF Inválido!"); 
	document.fmcadastro.cpf.focus(); 
	return false; 
}

function checkPF() {
	
	with(document.fmcadastro) {
		
		if (nome.value == "") {
			alert("O seu Nome não foi preenchido!");
			nome.focus();
			return false;
		}
      
		if (checkCPF(cpf.value) == false) {
			cpf.focus();
			return false;
		}
		
		if (ddd.value == "") {
			alert("DDD não é válido!");
			ddd.focus();
			return false;
		}
		
		if (telefone0.value == "") {
			alert("Telefone não preenchido!");
			telefone0.focus();
			return false;
		}
		
		if (telefone1.value == "") {
			alert("Telefone não preenchido!");
			telefone1.focus();
			return false;
		}
		
		if (celular.value == "") {
			alert("Telefone não preenchido!");
			celular.focus();
			return false;
		}

		if (isEmail(email.value) == false) {
			alert("Informe um endereço de e-mail válido");
			email.focus();
			return false;
		}
		
		if (email.value != reemail.value) {
			alert("Emails diferentes, confirme o email novamente!");
			reemail.focus();
			return false;
		}
		
		if (login.value == "") {
			alert("Login não preenchido!");
			login.focus();
			return false;
		}
		
		if (senha.value == "") {
			alert("Senha não preenchida!");
			senha.focus();
			return false;
		}
		
		submit();
	}
}	

function checkPJ() {
		
	with (document.fmcadastro) {
		
		if (razao_social.value == "") {
			alert("Razão Social não preenchida!");
			razao_social.focus();
			return false;
		}
		
		if (checkCNPJ(cnpj.value) == false) {
			cnpj.focus();
			return false;
		}
		
		if (contato.value == "") {
			alert("Nome do contato não preenchido!");
			contato.focus();
			return false;
		}
		
		if (ddd.value == "") {
			alert("DDD não é válido!");
			ddd.focus();
			return false;
		}
		
		if (telefone0.value == "") {
			alert("Telefone não preenchido!");
			telefone0.focus();
			return false;
		}
		
		if (telefone1.value == "") {
			alert("Telefone não preenchido!");
			telefone1.focus();
			return false;
		}
		
		if (celular.value == "") {
			alert("Celular não preenchido!");
			celular.focus();
			return false;
		}
		
		if (isEmail(email.value) == false) {
			alert("Informe um endereço de e-mail válido");
			email.focus();
			return false;
		}
		
		if (email.value != reemail.value) {
			alert("Emails diferentes, confirme o email novamente!");
			reemail.focus();
			return false;
		}
		
		if (login.value == "") {
			alert("Login não preenchido!");
			login.focus();
			return false;
		}
		
		if (senha.value == "") {
			alert("Senha não preenchida!");
			senha.focus();
			return false;
		}
		
		submit();
	}
}

function checkContato() {
	
	with(document.fmcontato) {
		
		if (empresa.value == "") {
			alert("O nome da empresa não foi preenchido!");
			empresa.focus();
			return false;
		}
      
		if (nome.value == "") {
			alert("O nome não foi preenchido!");
			nome.focus();
			return false;
		}

		if (ddd.value == "") {
			alert("DDD não é válido!");
			ddd.focus();
			return false;
		}
		
		if (telefone.value == "") {
			alert("Telefone não preenchido!");
			telefone.focus();
			return false;
		}

		if (cidade.value == "") {
			alert("Cidade não preenchido!");
			cidade.focus();
			return false;
		}
		
		if (isEmail(email.value) == false) {
			alert("Informe um endereço de e-mail válido");
			email.focus();
			return false;
		}
		
		
		if (comentarios.value == "") {
			alert("Por favor, digite uma mensagem!");
			comentarios.focus();
			return false;
		}
		
		submit();
	}
}

function checkOS() {
	
	with(document.fmOS) {
		
		if (trabalho.value == "") {
			alert("Digite um nome para o trabalho");
			trabalho.focus();
			return false;
		}
      
		if (formato1.value == "") {
			alert("O formato deve estar preenchido!");
			formato1.focus();
			return false;
		}

		if (formato2.value == "") {
			alert("O formato deve estar preenchido!");
			formato2.focus();
			return false;
		}
		
		if (paginas.value == "") {
			alert("Preencha o número de páginas do trabalho!");
			paginas.focus();
			return false;
		}

		if (software.value == "") {
			alert("Informe o nome do software e sua versão!");
			software.focus();
			return false;
		}
		
		submit();
	}
}