var myRe1 = /^[0-9]{5}-[0-9]{3}$/i;
var myRe2 = /^[0-9]{8}$/i;

function verificar_motivo() {
	if (document.sis.subject.value == "Queda de conexão") {
		alert('Queda de conexão não é de responsabilidade do provedor. Ligue agora para sua empresa de telefonia, você tem problemas na sua linha ADSL. Saiba mais na área de dúvidas');
		document.sis.Submit.disabled = true;
	} else {
		document.sis.Submit.disabled = false;
	}
}

function counterUpdate() {
	field = document.getElementById("comentario");
	txt_field = document.getElementById("countBody");
	txt_field.innerHTML = field.value.length;
	if(field.value.length >= 1000)
		field.value = field.value.substring(0, 1000);
}

function testeditcadastro() {
	if (document.sis.nome.value == "") {
		document.sis.nome.focus();
		alert('Preencha seu nome');
		return false;
	}

	if (document.sis.endereco.value == "") {
		document.sis.endereco.focus();
		alert('Preencha seu Endereço');
		return false;
	}

	if (document.sis.bairro.value == "") {
		document.sis.bairro.focus();
		alert('Preencha seu Bairro');
		return false;
	}

	if (document.sis.cep.value == "") {
		document.sis.cep.focus();
		alert('Preencha seu CEP');
		return false;
	}

	if (document.sis.cidade.value == "") {
		document.sis.cidade.focus();
		alert('Preencha sua Cidade');
		return false;
	}

	if(document.sis.uf.value == -1) {
		document.sis.uf.focus();
		alert('Selecione a UF');
		return false;
	}

	if (document.sis.email.value == "") {
		document.sis.email.focus();
		alert('Preencha seu E-mail');
		return false;
	}


	if(document.sis.email.value.indexOf('@', 0) == -1) {
		document.sis.email.focus();
		alert('E-mail inválido');
		return false;
	}

	if(document.sis.email.value.indexOf('@.', 0) != -1) {
		document.sis.email.focus();
		alert('E-mail inválido');
		return false;
	}

	if (document.sis.email.value != '') {
		if(document.sis.email.value == document.sis.email2.value) {
			document.sis.email2.focus();
			alert('E-mail secundário não pode ser igual ao primário');
			return false;
		}
	}

	if(document.sis.email.value.indexOf(';', 0) != -1) {
		document.sis.email.focus();
		alert('E-mail inválido');
		return false;
	}

	if(document.sis.email2.value.indexOf(';', 0) != -1) {
		document.sis.email2.focus();
		alert('E-mail inválido');
		return false;
	}

	if(document.sis.email2.value.indexOf('@.', 0) != -1) {
		document.sis.email2.focus();
		alert('E-mail inválido');
		return false;
	}

	if(document.sis.email.value.indexOf('.', 0) == -1) {
		document.sis.email.focus();
		alert('E-mail inválido');
		return false;
	}

	if(document.sis.email.value.indexOf(';', 0) != -1) {
		document.sis.email.focus();
		alert('E-mail inválido');
		return false;
	}

	if(document.sis.email.value.indexOf('@adslresidencial', 0) != -1) {
		document.sis.email.focus();
		alert('Preencha o e-mail que você usa atualmente, não o login que você deseja cadastrar.');
		return false;
	}

	if(document.sis.email.value.indexOf('hotmail.com', 0) != -1) {
		document.sis.email.focus();
		alert('Devido a muitas reclamações de clientes que não recebem e-mail de confirmação não estamos mais aceitando cadastro com e-mails `@hotmail.com`, por favor use outro e-mail');
		return false;
	}

	if(document.sis.email.value.indexOf('ibest.com', 0) != -1) {
		document.sis.email.focus();
		alert('Devido a muitas reclamações de clientes que não recebem e-mail de confirmação não estamos mais aceitando cadastro com e-mails `@ibest.com.br`, por favor use outro e-mail');
		return false;
	}
/*
	if(document.sis.email.value.indexOf('yahoo.com', 0) != -1) {
		document.sis.email.focus();
		alert('Devido a muitas reclamações de clientes que não recebem e-mail de confirmação não estamos aceitando temporariamente cadastro com e-mails `@yahoo.com`, por favor use outro e-mail');
		return false;
	}
*/

	if(document.sis.email.value.indexOf('hotmail.com.br', 0) != -1) {
		document.sis.email.focus();
		alert('Seu e-mail não é @hotmail.com em vez de @hotmail.com.br?');
		return false;
	}

	if(document.sis.email2.value.indexOf('hotmail.com.br', 0) != -1) {
		document.sis.email2.focus();
		alert('Seu e-mail não é @hotmail.com em vez de @hotmail.com.br?');
		return false;
	}

	if(document.sis.email.value.indexOf('gmail.com.br', 0) != -1) {
		document.sis.email.focus();
		alert('Seu e-mail não é @gmail.com em vez de @gmail.com.br?');
		return false;
	}

	if(document.sis.email2.value.indexOf('gmail.com.br', 0) != -1) {
		document.sis.email2.focus();
		alert('Seu e-mail não é @gmail.com em vez de @gmail.com.br?');
		return false;
	}

	return true;
}

function testar_faleconosco() {
	if (document.sis.nome.value == "") {
		document.sis.nome.focus();
		alert('Preencha seu nome');
		return false;
	}

	if(document.sis.email.value.indexOf('@', 0) == -1) {
		document.sis.email.focus();
		alert('E-mail inválido');
		return false;
	}


	if(document.sis.email.value != document.sis.email2.value ) {
		document.sis.email.focus();
		alert('Seu e-mail está diferente da confirmação de e-mail, verifique');
		return false;
	}


	if(document.sis.email.value.indexOf('.', 0) == -1) {
		document.sis.email.focus();
		alert('E-mail inválido');
		return false;
	}

	if(document.sis.email.value.indexOf('@.', 0) != -1) {
		document.sis.email.focus();
		alert('E-mail inválido');
		return false;
	}


	if(document.sis.email.value.indexOf('adslresidencial.com.br', 0) != -1) {
		document.sis.email.focus();
		alert('Digite o seu e-mail, não seu login');
		return false;
	}

	if (document.sis.subject.value == "-1") {
		document.sis.subject.focus();
		alert('Selecione o assunto');
		return false;
	}

	if (document.sis.observacoes.value == "") {
		document.sis.observacoes.focus();
		alert('Preencha sua mensagem');
		return false;
	}

	return true;
}

function testar_mudasenha() {
	if (document.sis.senha.value == "") {
		document.sis.senha.focus();
		alert('Preencha sua nova senha');
		return false;
	}

	if (document.sis.senha2.value == "") {
		document.sis.senha2.focus();
		alert('Repita sua nova senha');
		return false;
	}

	if (document.sis.senha2.value != document.sis.senha.value) {
		document.sis.senha2.focus();
		alert('Nova senha e repetição de senha não são iguais');
		return false;
	}
}

function testlogarcentraassin() {
	if (document.sis.login.value == "") {
		document.sis.login.focus();
		alert('Preencha seu login');
		return false;
	}

	if (document.sis.senha.value == "") {
		document.sis.senha.focus();
		alert('Preencha sua senha');
		return false;
	}
	return true;
}

function testcadlogin() {
	if (document.sis.login.value == "") {
		document.sis.login.focus();
		alert('Preencha seu login');
		return false;
	}

	if(document.sis.login.value.indexOf('@', 0) != -1) {
		document.sis.login.focus();
		alert('Login inválido, retire a arroba');
		return false;
	}

	if(document.sis.login.value.indexOf('adslresidencial.com.br', 0) != -1) {
		document.sis.login.focus();
		alert('Login inválido');
		return false;
	}


	if (document.sis.senha.value == "") {
		document.sis.senha.focus();
		alert('Preencha sua senha');
		return false;
	}

	if (document.sis.login.value == document.sis.senha.value) {
		document.sis.senha.focus();
		alert('Senha inválida, escolha outra');
		return false;
	}

	if (document.sis.senha.value != document.sis.senha2.value) {
		document.sis.senha.focus();
		alert('Senha e confirmação de senha não são iguais');
		return false;
	}

	return true;
}

function testcadastro() {

	if (!isCPFCNPJ(document.sis.cpfcnpj.value,0)) {
		alert('CPF ou CNPJ Inválido');
		document.sis.cpfcnpj.focus();
		return false;
	}

	if (document.sis.nome.value == "") {
		document.sis.nome.focus();
		alert('Preencha seu nome');
		return false;
	}

	if (document.sis.endereco.value == "") {
		document.sis.endereco.focus();
		alert('Preencha seu Endereço');
		return false;
	}

	if (document.sis.bairro.value == "") {
		document.sis.bairro.focus();
		alert('Preencha seu Bairro');
		return false;
	}

	if (document.sis.cep.value.length == 8) {
		valcep = myRe2.exec(document.sis.cep.value);
	} else {
		valcep = myRe1.exec(document.sis.cep.value);
	}

	if(valcep == null) {
		document.sis.cep.focus();
		alert('Preencha seu CEP corretamente');
		return false;
	}

	if (document.sis.cidade.value == "") {
		document.sis.cidade.focus();
		alert('Preencha sua Cidade');
		return false;
	}

	if(document.sis.uf.value == -1) {
		document.sis.uf.focus();
		alert('Selecione a UF');
		return false;
	}

	if (document.sis.email.value == "") {
		document.sis.email.focus();
		alert('Preencha seu E-mail');
		return false;
	}


	if(document.sis.email.value.indexOf('@', 0) == -1) {
		document.sis.email.focus();
		alert('E-mail inválido');
		return false;
	}

	if(document.sis.email.value.indexOf('@.', 0) != -1) {
		document.sis.email.focus();
		alert('E-mail inválido');
		return false;
	}

	if(document.sis.email.value.indexOf(';', 0) != -1) {
		document.sis.email.focus();
		alert('E-mail inválido');
		return false;
	}

	if(document.sis.email2.value.indexOf(';', 0) != -1) {
		document.sis.email2.focus();
		alert('E-mail inválido');
		return false;
	}

	if (document.sis.email.value != '') {
		if(document.sis.email.value == document.sis.email2.value) {
			document.sis.email2.focus();
			alert('E-mail secundário não pode ser igual ao primário');
			return false;
		}
	}

	if(document.sis.email2.value.indexOf('@.', 0) != -1) {
		document.sis.email2.focus();
		alert('E-mail inválido');
		return false;
	}


	if(document.sis.email.value.indexOf('.', 0) == -1) {
		document.sis.email.focus();
		alert('E-mail inválido');
		return false;
	}

	if(document.sis.email.value.indexOf(';', 0) != -1) {
		document.sis.email.focus();
		alert('E-mail inválido');
		return false;
	}

	if(document.sis.email.value.indexOf('@adslresidencial', 0) != -1) {
		document.sis.email.focus();
		alert('Preencha o e-mail que você usa atualmente, não o login que você deseja cadastrar.');
		return false;
	}


	if(document.sis.email.value.indexOf('hotmail.com', 0) != -1) {
		document.sis.email.focus();
		alert('Devido a muitas reclamações de clientes que não recebem e-mail de confirmação, não estamos mais aceitando cadastro com e-mails `@hotmail.com`. Por favor use outro e-mail');
		return false;
	}


	if(document.sis.email2.value.indexOf('hotmail.com', 0) != -1) {
		document.sis.email2.focus();
		alert('Devido a muitas reclamações de clientes que não recebem e-mail de confirmação, não estamos mais aceitando cadastro com e-mails `@hotmail.com`. Por favor use outro e-mail');
		return false;
	}

	if(document.sis.email.value.indexOf('ibest.com.br', 0) != -1) {
		document.sis.email.focus();
		alert('Devido a muitas reclamações de clientes que não recebem e-mail de confirmação, não estamos mais aceitando cadastro com e-mails `@ibest.com.br`. Por favor use outro e-mail');
		return false;
	}

	if(document.sis.email.value.indexOf('@ig.com.br', 0) != -1) {
		document.sis.email.focus();
		alert('Devido a muitas reclamações de clientes que não recebem e-mail de confirmação, não estamos mais aceitando cadastro com e-mails `@ig.com.br`. Por favor use outro e-mail');
		return false;
	}

	if(document.sis.email2.value.indexOf('ibest.com', 0) != -1) {
		document.sis.email2.focus();
		alert('Devido a muitas reclamações de clientes que não recebem e-mail de confirmação, não estamos mais aceitando cadastro com e-mails `@ibest.com.br`. Por favor use outro e-mail');
		return false;
	}

	if(document.sis.email.value.indexOf('hotmail.com.br', 0) != -1) {
		document.sis.email.focus();
		alert('Seu e-mail não é @hotmail.com em vez de @hotmail.com.br?');
		return false;
	}

	if(document.sis.email2.value.indexOf('hotmail.com.br', 0) != -1) {
		document.sis.email2.focus();
		alert('Seu e-mail não é @hotmail.com em vez de @hotmail.com.br?');
		return false;
	}

	if(document.sis.email.value.indexOf('gmail.com.br', 0) != -1) {
		document.sis.email.focus();
		alert('Seu e-mail não é @gmail.com em vez de @gmail.com.br?');
		return false;
	}

	if(document.sis.email2.value.indexOf('gmail.com.br', 0) != -1) {
		document.sis.email2.focus();
		alert('Seu e-mail não é @gmail.com em vez de @gmail.com.br?');
		return false;
	}

	if (document.sis.telefoneadsl.value == "") {
		document.sis.telefoneadsl.focus();
		alert('Preencha o número da linha telefônica que você utiliza para o acesso à Internet');
		return false;
	}

	if (document.sis.operadora.value == "-") {
		document.sis.operadora.focus();
		alert('Selecione a operadora telefônica que fornecerá a sua Internet');
		return false;
	}

	if(document.sis.modem.value == -1) {
		document.sis.modem.focus();
		alert('Selecione o modelo do seu modem ADSL');
		return false;
	}

	if(!document.sis.apenasgvt.checked) {
		document.sis.apenasgvt.focus();
		alert('Você deve marcar o quadrinho confirmando que você sabe que este serviço funciona apenas com a GVT. Por divergências comerciais, não estamos mais operando com a Brasil Telecom.');
		return false;
	}

	return true;
}

/*
www.moinho.net
Verifica se um nÃºmero de CPF ou CNPJ Ã© vÃ¡lido
FunÃ§Ã£o  : isCPFCNPJ
Retorno : true se o nÃºmero for vÃ¡lido
e-mail  : celso.goya@moinho.net
Author  : Desconhecido
Customizado: Celso Goya

Instruções
Se vocÃª tiver qualquer dÃºvida ou sugestÃ£o sobre a funcionalidade desta funÃ§Ã£o por favor envie-nos um e-mail
*/

function isCPFCNPJ(campo,pType){
   if( isEmpty( campo ) ){return false;}

   var campo_filtrado = "", valor_1 = " ", valor_2 = " ", ch = "";
   var valido = false;

   for (i = 0; i < campo.length; i++){
      ch = campo.substring(i, i + 1);
      if (ch >= "0" && ch <= "9"){
         campo_filtrado = campo_filtrado.toString() + ch.toString()
         valor_1 = valor_2;
         valor_2 = ch;
      }
      if ((valor_1 != " ") && (!valido)) valido = !(valor_1 == valor_2);
   }
   if (!valido) campo_filtrado = "12345678912";

   if (campo_filtrado.length < 11){
      for (i = 1; i <= (11 - campo_filtrado.length); i++){campo_filtrado = "0" + campo_filtrado;}
   }

   if(pType <= 1){
      if ( ( campo_filtrado.substring(9,11) == checkCPF( campo_filtrado.substring(0,9) ) ) && ( campo_filtrado.substring(11,12)=="") ){return true;}
   }

   if((pType == 2) || (pType == 0)){
      if (campo_filtrado.length >= 14){
         if ( campo_filtrado.substring(12,14) == checkCNPJ( campo_filtrado.substring(0,12) ) ){ return true;}
      }
   }

   return false;
}

function checkCNPJ(vCNPJ){
   var mControle = "";
   var aTabCNPJ = new Array(5,4,3,2,9,8,7,6,5,4,3,2);
   for (i = 1 ; i <= 2 ; i++){
      mSoma = 0;
      for (j = 0 ; j < vCNPJ.length ; j++)
         mSoma = mSoma + (vCNPJ.substring(j,j+1) * aTabCNPJ[j]);
      if (i == 2 ) mSoma = mSoma + ( 2 * mDigito );
      mDigito = ( mSoma * 10 ) % 11;
      if (mDigito == 10 ) mDigito = 0;
      mControle1 = mControle ;
      mControle = mDigito;
      aTabCNPJ = new Array(6,5,4,3,2,9,8,7,6,5,4,3);
   }
   return( (mControle1 * 10) + mControle );
}

function checkCPF(vCPF){
   var mControle = ""
   var mContIni = 2, mContFim = 10, mDigito = 0;
   for (j = 1 ; j <= 2 ; j++){
      mSoma = 0;
      for (i = mContIni ; i <= mContFim ; i++)
         mSoma = mSoma + (vCPF.substring((i-j-1),(i-j)) * (mContFim + 1 + j - i));
      if (j == 2 ) mSoma = mSoma + ( 2 * mDigito );
      mDigito = ( mSoma * 10 ) % 11;
      if (mDigito == 10) mDigito = 0;
      mControle1 = mControle;
      mControle = mDigito;
      mContIni = 3;
      mContFim = 11;
   }
   return( (mControle1 * 10) + mControle );
}

function isEmpty(pStrText){
   var   len = pStrText.length;
   var pos;
   var vStrnewtext = "";

   for (pos=0; pos<len; pos++){
      if (pStrText.substring(pos, (pos+1)) != " "){
         vStrnewtext = vStrnewtext + pStrText.substring(pos, (pos+1));
      }
   }

   if (vStrnewtext.length > 0)
      return false;
   else
      return true;
}


function validDate(d) {
var reData = /(\d{2})\/(\d{2})\/(\d{4})/;
var datePart = d.match(reData); // datePartconterÃ¡ [0]=dia, [1]=mes e [2]=ano

if(datePart == null){
return false;
}

var dd = datePart[1], mm = datePart[2], yy = datePart[3];

//condiÃ§Ãµes de datas invÃ¡lidas:
// dia menor que 1 ou maior que 31
if (dd<1) { return false;}

// mes fora dos limites
if (mm<1 || mm>12) { return false;}

// meses 4,6,9,11 nao possuem mais de 30 dias

if ((dd > 30) && (mm == 4)) {return false;}
if ((dd > 30) && (mm == 6)) {return false;}
if ((dd > 30) && (mm == 9)) {return false;}
if ((dd > 30) && (mm == 11)) {return false;}

if ((dd > 31) && (mm == 1)) {return false;}
if ((dd > 31) && (mm == 3)) {return false;}
if ((dd > 31) && (mm == 5)) {return false;}
if ((dd > 31) && (mm == 7)) {return false;}
if ((dd > 31) && (mm == 8)) {return false;}
if ((dd > 31) && (mm == 10)) {return false;}
if ((dd > 31) && (mm == 12)) {return false;}

// fevereiro nÃ£o tem mais de 28 dias, exceto em ano bissexto
if ((dd > 29) && (mm == 2) && (anobissexto(yy) )) {return false;}
if ((dd > 28) && (mm == 2) && (!anobissexto(yy) )) {return false;}

// se passou pelos testes acima, entÃ£o a data Ã© considerada vÃ¡lida.
return true;

}
// retorna verdadeiro se for ano bissexto ou falso se nÃ£o for bissexto

function anobissexto(yy){
return (yy % 4 == 0 &&(yy % 100 != 0 || yy % 400 == 0));
}