botao_clicado = false;
function valida(){
		if (!botao_clicado){
			botao_clicado = true;
			if (valida_dados()) {
				return true;
			}else { return false; }
			}else{
		alert("Aguarde... Processo em andamento.");
	}
}

function verifica_mail(mail) {
var iCount, vPos, Achou, dom, formulario;

	if (mail.length == 0) return true;

	formulario = document.assinatura
	achou = false;

    for (iCount = 1; iCount<mail.length; iCount++){ // comeca na segunda posicao da string
        if (mail.charAt(iCount) == '@') {
			achou = true;
            vPos = iCount;
            break;
        }
    }
	if (achou == false) {
		alert('E-mail incorreto.');
		formulario.email.focus();
		return false;
	}
return true;
}

function valida_dados() {
var Form, resposta, s, cnpj, cpf, cep;
	Form = document.assinatura;

	if (Form.dominio.value.length == 0) {
		alert('O campo de dominio é obrigatório !');
		Form.dominio.focus();
		botao_clicado=false
		return false;
	}
	if (Form.razao.value.length == 0) {
		alert('O campo de nome ou razão social é obrigatório !');
		Form.razao.focus();
		botao_clicado=false
		return false;
    }
	// checa se é cpf
	if (Form.documento.value.length == 0 || Form.documento.value.length <=10) {
		alert('O CPF/CNPJ não é válido !');
		Form.documento.focus();
		botao_clicado=false
		return false;
	}
	else if (Form.documento.value.length == 11) {
	// eh CPF
		if (valida_CPF(Form.documento.value) == false ) {
			alert('O CPF não é válido !');
			Form.documento.focus();
			botao_clicado=false
			return false;
		}
	}
	// eh cnpj
	else if (valida_cnpj(Form.documento.value) == false ) {
		alert('O CNPJ não é válido !');
		Form.documento.focus();
		botao_clicado=false
		return false;
	}
	if (Form.endereco.value.length == 0) {
		alert('O endereço é um campo obrigatório !');
		Form.endereco.focus();
		botao_clicado=false
		return false;
	}
	if (Form.cidade.value.length == 0) {
		alert('A cidade é um campo obrigatório !');
		Form.cidade.focus();
		botao_clicado=false
		return false;
	}
	if (Form.estado.options[0].selected == true) {
		alert('O estado é um campo obrigatório !');
		Form.estado.focus();
		botao_clicado=false
		return false;
	}
	if (Form.cep.value.length < 5) {
		alert('O cep é um campo obrigatório !');
		Form.cep.focus();
		botao_clicado=false
		return false;
	}
	if (Form.telefone.value.length == 0) {
		alert('O telefone é um campo obrigatório !');
		Form.telefone.focus();
		botao_clicado=false
		return false;
	}
	if (Form.responsavel.value.length == 0) {
		alert('O responsavel é um campo obrigatório !');
		Form.responsavel.focus();
		botao_clicado=false
		return false;
	}
	if (Form.email.value.length == 0) {
		alert('O email é um campo obrigatório !');
		Form.email.focus();
		botao_clicado=false
		return false;
	}
	if (Form.email2.value.length == 0) {
		alert('O outro e-mail é um campo obrigatório !');
		Form.email2.focus();
		botao_clicado=false
		return false;
	}
	if (Form.plano.options[0].selected == true) {
		alert('O plano é um campo obrigatório !');
		Form.plano.focus();
		botao_clicado=false
		return false;
	}
//	if (Form.dia.options[0].selected == true) {
//		alert('O dia de vencimento é um campo obrigatório !');
//		Form.dia.focus();
//		botao_clicado=false
//		return false;
//	}
	if (Form.periodo.options[0].selected == true) {
		alert('A periodicidade é um campo obrigatório !');
		Form.periodo.focus();
		botao_clicado=false
		return false;
	}
	if (Form.aceito.checked == false ) {
		alert('Marque para aceitar os termos do contrato.');
		botao_clicado=false
		return false;
	}
	return true;
}

function valida_CPF(s){
var i;
var c = s.substr(0,9);
var dv = s.substr(9,2);
var d1 = 0;
	for (i = 0; i < 9; i++){
		d1 += c.charAt(i)*(10-i);
	}
	if (d1 == 0) return false;
	d1 = 11 - (d1 % 11);
	if (d1 > 9) d1 = 0;
	if (dv.charAt(0) != d1){
		return false;
	}
	d1 *= 2;
	for (i = 0; i < 9; i++){
		d1 += c.charAt(i)*(11-i);
	}
	d1 = 11 - (d1 % 11);
	if (d1 > 9) d1 = 0;
	if (dv.charAt(1) != d1){
		return false;
	}
	return true;
}

function valida_cnpj(s){
var i;
var c = s.substr(0,12);
var dv = s.substr(12,2);
var d1 = 0;
	for (i = 0; i < 12; i++){
		d1 += c.charAt(11-i)*(2+(i % 8));
	}
	if (d1 == 0) return false;
	d1 = 11 - (d1 % 11);
	if (d1 > 9) d1 = 0;
	if (dv.charAt(0) != d1){
		return false;
	}
	d1 *= 2;
	for (i = 0; i < 12; i++){
		d1 += c.charAt(11-i)*(2+((i+1) % 8));
	}
	d1 = 11 - (d1 % 11);
	if (d1 > 9) d1 = 0;
	if (dv.charAt(1) != d1){
		return false;
	}
	return true;
}

function valida_numero(s){
	if ( s != '' ) {
		var i;
		var dif = 0;
		for (i = 0; i < s.value.length; i++){
			var c = s.value.charAt(i);
			if (!((c >= '0') && (c <= '9'))){
				dif = 1;
			}
		}
		if (dif == 1){
			alert('Este campo deve ser numerico!');
			s.focus();
			s.select();
			return false;
		}
	}
	return true;
}