/////////////////////////////////////////////////////////////////////
// Função que valida o Formulario
/////////////////////////////////////////////////////////////////////
function ValidaFormulario(Form)
{
	var Validado = true
	if (Form.Dominio.value == ""){
		alert("O campo Domínio precisa ser preenchido.")
		Form.Dominio.focus();
		Validado = false;
	}
	else if (Form.NomeRazao.value == ""){
		alert("O campo Nome/Razão Social precisa ser preenchido.")
		Form.NomeRazao.focus();
		Validado = false;
	}
	else if (Form.CPFCNPJ.value == ""){
		alert("O campo CPF/CNPJ precisa ser preenchido.")
		Form.CPFCNPJ.focus();
		Validado = false;
	}
	else if(Form.CPFCNPJ.value.length != 11 && Form.CPFCNPJ.value.length != 14)	{
		Validado = false;
		alert("Tamanho do CPF/CPNJ Inválido.");
		Form.CPFCNPJ.value = "";
		Form.CPFCNPJ.focus();
	}
	else if(Form.CPFCNPJ.value.length == 11 && !CPF(Form.CPFCNPJ.value) ) {
		Validado = false;
		alert("CPF Inválido.");
		Form.CPFCNPJ.value = "";
		Form.CPFCNPJ.focus();
	}
	else if(Form.CPFCNPJ.value.length == 14 && !CNPJ(Form.CPFCNPJ.value) ) {
		Validado = false;
		alert("CNPJ Inválido.");
		Form.CPFCNPJ.value = "";		
		Form.CPFCNPJ.focus();
	}
	else if(Form.CPFCNPJ.value.length > 11){
		if (Form.Contato.value == ""){
			alert("O campo Contato precisa ser preenchido.")
			Form.Contato.focus();
			Validado = false;
		}
	}
	else if (Form.EmailCont.value == ""){
		alert("O campo E-mail precisa ser preenchido.")
		Form.EmailCont.focus();
		Validado = false;
	}
	else if (Form.EmailCont.value.indexOf("@") == -1 || Form.EmailCont.value.indexOf(".") == -1){
		alert("E-mail inválido. O E-mail digitado não contém os caracteres @ (arroba) e . (ponto)");
		Form.EmailCont.value = "";
		Form.EmailCont.focus();
		Validado = false;
	}
	else if (Form.CEP1.value == "" && Form.CEP2.value == ""){
		alert("O campo CEP precisa ser preenchido.")
		Form.CEP1.focus();
		Validado = false;
	}
	else if (Form.Endereco.value == ""){
		alert("O campo Endereço precisa ser preenchido.")
		Form.Endereco.focus();
		Validado = false;
	}
	else if (Form.Numero.value == ""){
		alert("O campo Número precisa ser preenchido.")
		Form.Numero.focus();
		Validado = false;
	}
	else if (Form.Bairro.value == ""){
		alert("O campo Bairro precisa ser preenchido.")
		Form.Bairro.focus();
		Validado = false;
	}
	else if (Form.Cidade.value == ""){
		alert("O campo Cidade precisa ser preenchido.")
		Form.Cidade.focus();
		Validado = false;
	}
	else if (Form.UF.value == ""){
		alert("O campo UF precisa ser selecionado.")
		Form.UF.focus();
		Validado = false;
	}
	else if (Form.DDD.value == ""){
		alert("O campo DDD precisa ser selecionado.")
		Form.DDD.focus();
		Validado = false;
	}
	else if (Form.Telefone1.value == "" && Form.Telefone2.value == ""){
		alert("O campo telefone precisa ser selecionado.")
		Form.Telefone1.focus();
		Validado = false;
	}
	else if (Form.AceitoContrato.checked == false){
		alert("Você precisa aceitar o contrato para poder prosseguir com a sua assinatura.")
		Form.AceitoContrato.focus();
		Validado = false;
	}

	if (Validado == true){
		Form.submit();
	}
}
///////////////////////////////////////////////////////////////////
//	Não permite a digitação de letras nos campos somente numéricos
//////////////////////////////////////////////////////////////////
function soNumero() {
    var tecla;
    tecla = event.keyCode;
    if (tecla < 48 || tecla > 57)  event.returnValue = false;
}

//////////////////////////////////////////////////////////////////////////////////////////////////////
// Salta o cursor para o próximo campo depois de completado o preenchimento de um campo
//////////////////////////////////////////////////////////////////////////////////////////////////////
function SaltaCampo (campo,proximocampo,tammax,teclapres){
	var tecla = teclapres.keyCode;
	vr = campo.value;
	if( tecla == 109 || tecla == 188 || tecla == 110 || tecla == 111 || tecla == 223 || tecla == 108 ){
		campo.value = vr.substr( 0, vr.length - 1 ); }
	else{
	 	vr = vr.replace( "-", "" );
	 	vr = vr.replace( "/", "" );
	 	vr = vr.replace( "/", "" );
	 	vr = vr.replace( ",", "" );
	 	vr = vr.replace( ".", "" );
	 	vr = vr.replace( ".", "" );
	 	vr = vr.replace( ".", "" );
	 	vr = vr.replace( ".", "" );
	 	tam = vr.length;	
		
	 	if (tecla != 0 && tecla != 9 && tecla != 16 )
			if ( tam == tammax )	
				proximocampo.focus() ;
	}
}

////////////////////////////////////////////////////////////////////
// Função que valida o e-mail
/////////////////////////////////////////////////////////////////////
function ValidaEmail(Form)
{
	if (Form.f_email.value == ""){
		alert("Preencha o E-mail!")
		Form.f_email.focus()
	}else if (Form.f_email.value.indexOf("@") == -1 || Form.f_email.value.indexOf(".") == -1){
		alert("Endereço de e-mail inválido. O endereço digitado não contém os caracteres @ (arroba) e . (ponto)")
		Form.f_email.value = ""
		Form.f_email.focus()
	}else if (Form.f_pass.value == ""){
		alert("Preencha a Senha!")
		Form.f_pass.focus()
	}else{
		Form.submit()		
	}
}

/////////////////////////////////////////////////////////////////////
// Função que valida o Painel de Controle
/////////////////////////////////////////////////////////////////////
function ValidaPainel(Form)
{
	if (Form.username.value == ""){
		alert("Preencha o Usuário!")
		Form.username.focus()
	}else if (Form.password.value == ""){
		alert("Preencha a Senha!")
		Form.password.focus()
	}else{
		Form.submit()		
	}
}

///////////////////////////////////////////////////////////////////////////////
// Valida CPF
///////////////////////////////////////////////////////////////////////////////
function CPF(strTemp) {
	if(strTemp == "00000000000") return false;
	cpfmf = leftTrim(strTemp);
	cpfmf = rightTrim(cpfmf);
	Multiplic = "1110 9 8 7 6 5 4 3 2";
	soma = 0;
	for (Count=0;Count < 9;Count++){
	   cchar = cpfmf.substring(8-Count,8-Count+1);
	   cpeso = Multiplic.substring(18-Count*2,18-Count*2+2);
	   soma = soma + parseInt(cchar) * parseInt(cpeso);
	   }
	resto = soma % 11;
	if  (resto == 0) digito = 0
	else
	   {
	   digito = 11 - resto;
	   if (digito>9) digito = digito -10;
	   }
	if (cpfmf.substring(9,10) != digito) return (false);
	soma = 0;
	for (Count=0;Count < 10;Count++){
	   cchar = cpfmf.substring(9-Count,9-Count+1);
	   cpeso = Multiplic.substring(18-Count*2,18-Count*2+2);
	   soma = soma + parseInt(cchar) * parseInt(cpeso);
	}
	resto = soma % 11;
	if (resto ==0) digito = 0
	else
	   {
	   digito = 11-resto ;
	   if (digito > 9) digito = digito-10;
	   }
	if (cpfmf.substring (cpfmf.length-1, cpfmf.length) != digito) return (false);
	return (true);
}

///////////////////////////////////////////////////////////////////////////////
// Valida CNPJ
///////////////////////////////////////////////////////////////////////////////
function CNPJ(strTemp) {
	if(strTemp == "00000000000000") return false;
	var i, prod, d1, d2;
	var p, dig;
	p = leftTrim(strTemp); 
	p = rightTrim(strTemp);
	mult = "543298765432";
	dig = "*" + p;
	for ( prod=0, i = 1; i <= 12; i++) {
		prod += dig.charAt ( i ) * ( mult.charAt ( i - 1 ) - '0' );
	}
	if ( (d1 = prod % 11) < 2 ) {
		d1 = 0;
	} else {
		d1 = 11 - d1;
	}
	if ( d1 != dig.charAt ( 13 ) ) {
		return(false);
	} else {
	}
	mult = "6543298765432";
	for ( prod=0, i = 1; i <= 13; i++) {
		prod += dig.charAt ( i ) * ( mult.charAt ( i - 1 ) - '0' );
	}
	if ( (d2 = prod % 11) < 2 ) {
		d2 = 0;
	} else {
		d2 = 11 - d2;
	}                        
	if ( d2 != dig.charAt ( 14 ) ) {
		return(false);
	} else {
	}
	return(true);
}

///////////////////////////////////////////////////////////////
//	Recebe o caractere mais a esquerda diferente de " "
///////////////////////////////////////////////////////////////
function leftTrim (InString)  {
	OutString=InString;
	for (Count=0; Count < InString.length; Count++)  {
		TempChar=InString.substring (Count, Count+1);
		if (TempChar!=" ") {
			OutString=InString.substring (Count, InString.length)
			break;
		}
	}
	return (OutString);
}

///////////////////////////////////////////////////////////////
//	Recebe o caractere mais a direita diferente de " "
///////////////////////////////////////////////////////////////
function rightTrim (InString)  {
	OutString=InString;
	for (Count=InString.length; Count > 0; Count)  {
		TempChar=InString.substring (Count-1, Count);
		if (TempChar!=" ") {
			OutString=InString.substring (0, Count)
			break;
		}
	}
	return (OutString);
}
