// Funcoes de Formulario

/*
   objA -> objeto foco da acao
   objP -> objeto alvo do tab
   tamanho -> numero de caracteres a serem digitados para o tab automatico
   permitirApenasNumeros -> 0 - falso  /  1 - verdadeiro

function autoTab(objA, objP, tamanho, permitirApenasNumeros) {
   	 var key = window.event.keyCode;	
	 
	 if ( permitirApenasNumeros == 1 && ( key < 47 )||( key > 58 ) ) {
			window.event.returnValue = null; 
			return; 
	 }
	 
	 caracter = String.fromCharCode(key); 
   	 palavra = objA.value +  caracter; 
	 if (palavra.length == tamanho) {
   			objA.value = palavra;
			window.event.returnValue = null;
			objP.focus();
			return;
   	 } else { 
			if (palavra.length > tamanho) {
   					objA.value = palavra.substring(0, tamanho);
					window.event.returnValue = null;
					objP.focus();
					return;
   			} else { 
	 	 		objA.focus(); 
	  		}
   	 }
}
*/

var isNN = (navigator.appName.indexOf("Netscape")!=-1);

function autoTab(input,len, e) {

  var keyCode = (isNN) ? e.which : e.keyCode; 
  
  var filter = (isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46];
  if(input.value.length >= len && !containsElement(filter,keyCode)) {
    input.value = input.value.slice(0, len);
    input.form[(getIndex(input)+1) % input.form.length].focus();
  }

  function containsElement(arr, ele) {
    var found = false, index = 0;
    while(!found && index < arr.length)
    if(arr[index] == ele)
    found = true;
    else
    index++;
    return found;
  }

  function getIndex(input) {
    var index = -1, i = 0, found = false;
    while (i < input.form.length && index == -1)
    if (input.form[i] == input)index = i;
    else i++;
    return index;
  }
  return true;
}

function onlyNumbers(evt)
{
	var charCode = (evt.which) ? evt.which : event.keyCode
         if (charCode > 31 && (charCode < 48 || charCode > 57))
            return false;

         return true;

}

function impedeDigitacaoPonto(obj, evt) {
   	 var key = (evt.which) ? evt.which : event.keyCode	
	  if ( key == 46) {
			alert("Não digite a extensão do domínio neste campo.\nSelecione a extensão na caixa ao lado.\n\nEm caso de subdomínios, digite apenas a parte principal.\n\nExemplo 1 - Domínio desejado - www.brasilnaweb.com.br\nDigite apenas 'brasilnaweb' no campo.\n\nExemplo 2 - Domínio desejado (com subdomínio) - suporte.brasilnaweb.com.br\nDigite apenas 'brasilnaweb' no campo.");
			obj.focus();
			return false; 
	 }
	 return true;
}



function validaFormularioAssinatura() {
	
    if (isNaN(document.getElementById('diaNascimento').value) || Number(document.getElementById('diaNascimento').value) < 1 || Number(document.getElementById('diaNascimento').value) > 31 ) {
		alert('Informe corretamente sua data de nascimento');
		document.getElementById('diaNascimento').focus();
		return false;	
	}
	if (isNaN(document.getElementById('mesNascimento').value) || Number(document.getElementById('mesNascimento').value) < 1 || Number(document.getElementById('mesNascimento').value) > 12 ) {
		alert('Informe corretamente sua data de nascimento');
		document.getElementById('mesNascimento').focus();
		return false;	
	}
	if (isNaN(document.getElementById('anoNascimento').value) || Number(document.getElementById('anoNascimento').value) < 1900 || Number(document.getElementById('anoNascimento').value) > 2000 ) {
		alert('Informe corretamente sua data de nascimento');
		document.getElementById('anoNascimento').focus();
		return false;	
	}
	

	/* Validacao dos campos relativos ao dominio a ser utilizado */
	if (document.getElementById('registrarDominio1').checked == false && document.getElementById('registrarDominio2').checked == false) {	
		alert('Informe se deseja registrar um domínio para utilização ou se já possui um domínio devidamente registrado');
		document.getElementById('registrarDominio1').focus();
		return false;
	}
		
	if (document.getElementById('registrarDominio2').checked == true && document.getElementById('dominioRegistrado').value.length < 3) {	
		alert('Informe o domínio já registrado a ser utilizado');
		document.getElementById('dominioRegistrado').focus();		
		return false;
	}
	
	if (document.getElementById('registrarDominio1').checked == true && document.getElementById('dominioAVerificar').value.length < 3) {	
		alert('Informe o domínio a ser registrado e utilizado');
		document.getElementById('dominioAVerificar').focus();		
		return false;
	}
	
	/* Validacao dos campos relativos a PJ apenas */
	if (document.getElementById('tipoPessoa2').checked == true) {
		
		if (document.getElementById('nomeEmpresa').value.length < 3) {
			alert('Informe o Nome da Empresa');
			document.getElementById('nomeEmpresa').focus();
			return false;
		}
		
		if (document.getElementById('cnpj1').value.length != 2) {
			alert('Preencha o CNPJ corretamente');
			document.getElementById('cnpj1').focus();
			return false;
		} 
		if (document.getElementById('cnpj2').value.length != 3) {
			alert('Preencha o CNPJ corretamente');
			document.getElementById('cnpj2').focus();
			return false;
		}
		if (document.getElementById('cnpj3').value.length != 3) {
			alert('Preencha o CNPJ corretamente');
			document.getElementById('cnpj3').focus();
			return false;
		}
		if (document.getElementById('cnpj4').value.length != 4) {
			alert('Preencha o CNPJ corretamente');
			document.getElementById('cnpj4').focus();
			return false;
		}
		if (document.getElementById('cnpj5').value.length != 2) {
			alert('Preencha o CNPJ corretamente');
			document.getElementById('cnpj5').focus();
			return false;
		}
		
		var cnpj_prenchido = extraiApenasCaracteresNumericos(document.getElementById('cnpj1').value + "" + document.getElementById('cnpj2').value + "" + document.getElementById('cnpj3').value + "" + document.getElementById('cnpj4').value + "" + document.getElementById('cnpj5').value);
		if (!validaCNPJ(cnpj_prenchido)) {
			alert('CNPJ Inválido! Favor informar o CNPJ corretamente.');
			document.getElementById('cnpj1').focus();
			return false;
		}
		
	}
	
	/* Validacao dos campos comuns - PF e PJ */
	if (document.getElementById('nome').value.length < 5) {
		alert('Informe o Nome do Responsável pela Assinatura do Plano');
		document.getElementById('nome').focus();
		return false;
	}

	var cpf_prenchido = extraiApenasCaracteresNumericos(document.getElementById('cpf1').value + "" + document.getElementById('cpf2').value + "" + document.getElementById('cpf3').value + "" + document.getElementById('dvCPF').value);
	if (!validaCPF(cpf_prenchido)) {
		alert('CPF Inválido! Informe o CPF do Responsável pela Assinatura do Plano Corretamente.');
		document.getElementById('cpf1').focus();
		return false;
	}

    if (document.getElementById('endereco').value.length==0) {
		alert('Preencha o campo Endereço');
		document.getElementById('endereco').focus();
		return false;
	}
    if (document.getElementById('numeroEndereco').value.length==0) {
		alert('Preencha o campo número do seu endereço');
		document.getElementById('numeroEndereco').focus();
		return false;
	}	
	if (document.getElementById('cidade').value.length==0) {
		alert('Preencha o campo Cidade');
		document.getElementById('cidade').focus();
		return false;
	}
	if (document.getElementById('estado').selectedIndex == 0) {
		alert('Selecione o seu Estado');
		document.getElementById('estado').focus();
		return false;
	}
    if (extraiApenasCaracteresNumericos(document.getElementById('cep1').value + "" + document.getElementById('cep2').value).length != 8) {
		alert('Preencha o campo CEP');
		document.getElementById('cep1').focus();
		return false;
	}
	if (document.getElementById('email').value.length==0) {
		alert('Preencha o campo E-Mail');
		document.getElementById('email').focus();
		return false;
	}
	expRegularEmail = /^[\w!#$%&'*+\/=?^`{|}~-]+(\.[\w!#$%&'*+\/=?^`{|}~-]+)*@(([\w-]+\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/;
    if(!expRegularEmail.test(document.getElementById('email').value)) {
		alert('E-Mail Inválido! Informe um e-mail válido dentro dos padrões aceitos.');
		document.getElementById('email').focus();
		return false;
	}
	
	if (document.getElementById('dddTelefoneFixo').value.length!=2) {
		alert('Preencha o DDD relativo a um telefone fixo de contato (residencial ou comercial)');
		document.getElementById('dddTelefoneFixo').focus();
		return false;
	}
	if (document.getElementById('telefoneFixo').value.length<7) {
		alert('Informe um telefone fixo de contato (residencial ou comercial)');
		document.getElementById('telefoneFixo').focus();
		return false;
	}
	
	// Verifica se usuario marcou caixa relativa a leitura do contrato
	if(document.getElementById('acordoTermos').checked == false) {
		alert('É necessário que você leia e esteja plenamente de acordo com nossos termos contratuais. Marque a caixa correspondente após a leitura cuidadosa das informações.');
		document.getElementById('acordoTermos').focus();
		return false;
	}
	
	document.getElementById('cpf').value = document.getElementById('cpf1').value + "" + document.getElementById('cpf2').value + "" + document.getElementById('cpf3').value + "" + document.getElementById('dvCPF').value;
	document.getElementById('cnpj').value = document.getElementById('cnpj1').value + "" + document.getElementById('cnpj2').value + "" + document.getElementById('cnpj3').value + "" + document.getElementById('cnpj4').value + "" + document.getElementById('cnpj5').value;
	document.getElementById('cep').value  = document.getElementById('cep1').value + "" + document.getElementById('cep2').value;

	var oArg = {
		
		html:"<span style='cursor:wait'><center><strong>Aguarde, processando formulário ....</strong><br><br><img src='http://www.locadata.com.br/img/barra_progresso.gif' /></center></span>",
      	minWidth:300,
		maxWidth:300,
		resize:false,
		displayMask:1,
		fixedcenter:true,
		disableCloseButton:1
	}
	
	var processando = YAHOO.My.UI.Dialog.process(oArg);
	
	return true;

}

function validaFormularioRegistroDominio() {
		
	/* Validacao dos campos relativos a PJ apenas */
	if (document.getElementById('tipoPessoa2').checked == true) {
		
		if (document.getElementById('nomeEmpresa').value.length < 3) {
			alert('Informe o Nome da Empresa');
			document.getElementById('nomeEmpresa').focus();
			return false;
		}
		
		if (document.getElementById('cnpj1').value.length != 2) {
			alert('Preencha o CNPJ corretamente');
			document.getElementById('cnpj1').focus();
			return false;
		} 
		if (document.getElementById('cnpj2').value.length != 3) {
			alert('Preencha o CNPJ corretamente');
			document.getElementById('cnpj2').focus();
			return false;
		}
		if (document.getElementById('cnpj3').value.length != 3) {
			alert('Preencha o CNPJ corretamente');
			document.getElementById('cnpj3').focus();
			return false;
		}
		if (document.getElementById('cnpj4').value.length != 4) {
			alert('Preencha o CNPJ corretamente');
			document.getElementById('cnpj4').focus();
			return false;
		}
		if (document.getElementById('cnpj5').value.length != 2) {
			alert('Preencha o CNPJ corretamente');
			document.getElementById('cnpj5').focus();
			return false;
		}
		
		var cnpj_prenchido = extraiApenasCaracteresNumericos(document.getElementById('cnpj1').value + "" + document.getElementById('cnpj2').value + "" + document.getElementById('cnpj3').value + "" + document.getElementById('cnpj4').value + "" + document.getElementById('cnpj5').value);
		if (!validaCNPJ(cnpj_prenchido)) {
			alert('CNPJ Inválido! Favor informar o CNPJ corretamente.');
			document.getElementById('cnpj1').focus();
			return false;
		}
		
	}
	
	/* Validacao dos campos comuns - PF e PJ */
	if (document.getElementById('nome').value.length < 5) {
		alert('Informe o Nome do Responsável pela Assinatura do Plano');
		document.getElementById('nome').focus();
		return false;
	}

	var cpf_prenchido = extraiApenasCaracteresNumericos(document.getElementById('cpf1').value + "" + document.getElementById('cpf2').value + "" + document.getElementById('cpf3').value + "" + document.getElementById('dvCPF').value);
	if (!validaCPF(cpf_prenchido)) {
		alert('CPF Inválido! Informe o CPF do Responsável pela Assinatura do Plano Corretamente.');
		document.getElementById('cpf1').focus();
		return false;
	}

    if (document.getElementById('endereco').value.length==0) {
		alert('Preencha o campo Endereço');
		document.getElementById('endereco').focus();
		return false;
	}
	if (document.getElementById('cidade').value.length==0) {
		alert('Preencha o campo Cidade');
		document.getElementById('cidade').focus();
		return false;
	}
	if (document.getElementById('estado').selectedIndex == 0) {
		alert('Selecione o seu Estado');
		document.getElementById('estado').focus();
		return false;
	}
    if (extraiApenasCaracteresNumericos(document.getElementById('cep1').value + "" + document.getElementById('cep2').value).length != 8) {
		alert('Preencha o campo CEP');
		document.getElementById('cep1').focus();
		return false;
	}
	if (document.getElementById('email').value.length==0) {
		alert('Preencha o campo E-Mail');
		document.getElementById('email').focus();
		return false;
	}
	expRegularEmail = /^[\w!#$%&'*+\/=?^`{|}~-]+(\.[\w!#$%&'*+\/=?^`{|}~-]+)*@(([\w-]+\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/;
    if(!expRegularEmail.test(document.getElementById('email').value)) {
		alert('E-Mail Inválido! Informe um e-mail válido dentro dos padrões aceitos.');
		document.getElementById('email').focus();
		return false;
	}
	
	if (document.getElementById('dddTelefoneFixo').value.length!=2) {
		alert('Preencha o DDD relativo a um telefone fixo de contato (residencial ou comercial)');
		document.getElementById('dddTelefoneFixo').focus();
		return false;
	}
	if (document.getElementById('telefoneFixo').length==0) {
		alert('Informe um telefone fixo de contato (residencial ou comercial)');
		document.getElementById('telefoneFixo').focus();
		return false;
	}

	document.getElementById('cpf').value = document.getElementById('cpf1').value + "" + document.getElementById('cpf2').value + "" + document.getElementById('cpf3').value + "" + document.getElementById('dvCPF').value;
	document.getElementById('cnpj').value = document.getElementById('cnpj1').value + "" + document.getElementById('cnpj2').value + "" + document.getElementById('cnpj3').value + "" + document.getElementById('cnpj4').value + "" + document.getElementById('cnpj5').value;
	document.getElementById('cep').value  = document.getElementById('cep1').value + "" + document.getElementById('cep2').value;

	var oArg = {
		
		html:"<span style='cursor:wait'><center><strong>Aguarde, processando formulário ....</strong><br><br><img src='http://www.locadata.com.br/img/barra_progresso.gif' /></center></span>",
      	minWidth:300,
		maxWidth:300,
		resize:false,
		displayMask:1,
		fixedcenter:true,
		disableCloseButton:1
	}
	
	var processando = YAHOO.My.UI.Dialog.process(oArg);
	
	return true;


}

function extraiApenasCaracteresNumericos(string){
  var result = '';
  for (i = 0; i <= string.length; i++){
       if (!isNaN(string.substr(i, 1)))
            result += string.substr(i, 1);
    }
  return result;
}

// Valida CPF
function validaCPF(CPF){
  
  sValor = CPF;
  if (sValor != ''){
    if (isNaN(sValor) || sValor.length != 11) {
      return false;
    }
	
	if(sValor == 0 || sValor == 11111111111 || sValor == 22222222222 || sValor == 33333333333 || sValor == 44444444444 || sValor == 55555555555 || sValor == 66666666666 || sValor == 77777777777 || sValor == 88888888888 || sValor == 99999999999) {
	  return false;
	}
	
    soma = (sValor.substr(0,1) * 10) +
           (sValor.substr(1,1) * 9)  +
           (sValor.substr(2,1) * 8)  +
           (sValor.substr(3,1) * 7)  +
           (sValor.substr(4,1) * 6)  +
           (sValor.substr(5,1) * 5)  +
           (sValor.substr(6,1) * 4)  +
           (sValor.substr(7,1) * 3)  +
           (sValor.substr(8,1) * 2);
    dv1 = (soma % 11);
    if (dv1 == 0 || dv1 == 1)
       dv1 = 0;
    else dv1 = 11 - dv1;

    soma = (sValor.substr(0,1) * 11) +
           (sValor.substr(1,1) * 10) +
           (sValor.substr(2,1) * 9)  +
           (sValor.substr(3,1) * 8)  +
           (sValor.substr(4,1) * 7)  +
           (sValor.substr(5,1) * 6)  +
           (sValor.substr(6,1) * 5)  +
           (sValor.substr(7,1) * 4)  +
           (sValor.substr(8,1) * 3)  +
           (dv1 * 2);
    dv2 = (soma % 11);
    if (dv2 == 0 || dv2 == 1)
       dv2 = 0;
    else dv2 = 11 - dv2;

    if (sValor.substr(9,1) != dv1 || sValor.substr(10,1) != dv2){
      return false;
    }
  } else {
     return false;
  }
  return true;
}


// Valida CNPJ:
function validaCNPJ(CNPJ){
    sValor = CNPJ;
    if (sValor == '' || isNaN(sValor) || (sValor.length != 14 && sValor.length != 15) || sValor == 0) {
      return false;
    }
	
	if (sValor.length != 14) {
		sValor = sValor.substr(1, 14);
	}
	
	erro = new String;	
    var a = [];
	var b = new Number;
	var c = [6,5,4,3,2,9,8,7,6,5,4,3,2];
	for (i=0; i<12; i++){
		a[i] = sValor.charAt(i);
		b += a[i] * c[i+1];
	}
	if ((x = b % 11) < 2) { a[12] = 0 } else { a[12] = 11-x }
	b = 0;
	for (y=0; y<13; y++) {
		b += (a[y] * c[y]); 
	}
	if ((x = b % 11) < 2) { a[13] = 0; } else { a[13] = 11-x; }
	if ((sValor.charAt(12) != a[12]) || (sValor.charAt(13) != a[13])){
		erro +="Dígito verificador com problema!";
	}
	if (erro.length > 0){
		return false;
	} 

	return true;
   
}













// Funcoes de Formulario



function validaFormularioContato() {

	

	if (document.getElementById('nome').value.length < 5) {

		alert('Informe seu nome completo');

		document.getElementById('nome').focus();

		return false;

	}	

	if (document.getElementById('ddd').value.length < 2) {

		alert('O DDD do telefone deve conter 2 dígitos.');

		document.getElementById('ddd').focus();

		return false;

	}

	if (document.getElementById('telefone').value.length < 7) {

		alert('Informe o número de telefone');

		document.getElementById('telefone').focus();

		return false;

	}

	if (document.getElementById('cidade').value.length < 3) {

		alert('Informe a sua cidade');

		document.getElementById('cidade').focus();

		return false;

	}

	if (document.getElementById('estado').value.length < 2) {

		alert('Informe o seu estado');

		document.getElementById('estado').focus();

		return false;

	}



	if (document.getElementById('email').value.length==0) {

		alert('Informe seu e-mail de contato');

		document.getElementById('email').focus();

		return false;

	}

	expRegularEmail = /^[\w!#$%&'*+\/=?^`{|}~-]+(\.[\w!#$%&'*+\/=?^`{|}~-]+)*@(([\w-]+\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/;

    if(!expRegularEmail.test(document.getElementById('email').value)) {

		alert('E-Mail Inválido! Informe um e-mail válido.');

		document.getElementById('email').focus();

		return false;

	}

	if (document.getElementById('email_confirmacao').value.length==0) {

		alert('Informe o e-mail conforme o anterior');

		document.getElementById('email_confirmacao').focus();

		return false;

	}

	expRegularEmail = /^[\w!#$%&'*+\/=?^`{|}~-]+(\.[\w!#$%&'*+\/=?^`{|}~-]+)*@(([\w-]+\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/;

    if(!expRegularEmail.test(document.getElementById('email_confirmacao').value)) {

		alert('E-Mail Inválido! Informe um e-mail válido.');

		document.getElementById('email_confirmacao').focus();

		return false;

	}	

	if(document.getElementById('email_confirmacao').value != document.getElementById('email').value) {

		alert('E-mail de confirmação não corresponde ao e-mail.');

		document.getElementById('email_confirmacao').focus();

		return false;

	}

	if (document.getElementById('mensagem').value.length<2) {

		alert('Escreva a sua mensagem de forma detalhada para que nossa equipe possa respondê-lo rapidamente.');

		document.getElementById('mensagem').focus();

		return false;

	}	

}

	

	// Verifica se usuario marcou caixa relativa a leitura do contrato
/*
	if(document.getElementById('acordoTermos').checked == false) {

		alert('É necessário que você leia e esteja plenamente de acordo com nossos termos contratuais. Marque a caixa correspondente após a leitura cuidadosa das informações.');

		document.getElementById('acordoTermos').focus();

		return false;

	}

	// Verifica se usuario marcou caixa relativa a ciência de compra

	if(document.getElementById('acordoCompra').checked == false) {

		alert('É necessário que você saiba que este não é um pedido de orçamento e sim de compra. Marque a caixa correspondente ao acordo de compra.');

		document.getElementById('acordoTermos').focus();

		return false;

	}
*/
	

function validaFormularioEnvioSenha() {

	

	if (document.getElementById('siteCliente').value.length < 5) {

		alert('Informe o site desenvolvido pela Brasil na Web que deseja receber a senha de acesso ao Painel de Controle.');

		document.getElementById('siteCliente').focus();

		return false;

	}	

	if (document.getElementById('nome').value.length < 5) {

		alert('Informe seu nome completo');

		document.getElementById('nome').focus();

		return false;

	}	

	if (document.getElementById('ddd').value.length < 2) {

		alert('O DDD do telefone deve conter 2 dígitos.');

		document.getElementById('ddd').focus();

		return false;

	}

	if (document.getElementById('telefone').value.length < 7) {

		alert('Informe o número de telefone');

		document.getElementById('telefone').focus();

		return false;

	}



	if (document.getElementById('email').value.length==0) {

		alert('Informe seu e-mail de contato');

		document.getElementById('email').focus();

		return false;

	}

	expRegularEmail = /^[\w!#$%&'*+\/=?^`{|}~-]+(\.[\w!#$%&'*+\/=?^`{|}~-]+)*@(([\w-]+\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/;

    if(!expRegularEmail.test(document.getElementById('email').value)) {

		alert('E-Mail Inválido! Informe um e-mail válido.');

		document.getElementById('email').focus();

		return false;

	}

	if (document.getElementById('email_confirmacao').value.length==0) {

		alert('Informe o e-mail conforme o anterior');

		document.getElementById('email_confirmacao').focus();

		return false;

	}

	expRegularEmail = /^[\w!#$%&'*+\/=?^`{|}~-]+(\.[\w!#$%&'*+\/=?^`{|}~-]+)*@(([\w-]+\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/;

    if(!expRegularEmail.test(document.getElementById('email_confirmacao').value)) {

		alert('E-Mail Inválido! Informe um e-mail válido.');

		document.getElementById('email_confirmacao').focus();

		return false;

	}	

	if(document.getElementById('email_confirmacao').value != document.getElementById('email').value) {

		alert('E-mail de confirmação não corresponde ao e-mail.');

		document.getElementById('email_confirmacao').focus();

		return false;

	}	

}






