function numero (x){
	s = new String(x)
	_ok = 1
	for (i = 0; i < s.length; i++){
		r = (s.charAt(i) == "0" || s.charAt(i) == "1" || s.charAt(i) == "2" || s.charAt(i) == "3" || s.charAt(i) == "4" ||
			 s.charAt(i) == "5" || s.charAt(i) == "6"  || s.charAt(i) == "7" || s.charAt(i) == "8" ||
			 s.charAt(i) == "9"); //|| s.charAt(i) == "-" || s.charAt(i) == "."  || s.charAt(i) == ",");
		_ok = _ok & r
	}
	return _ok
}
//#############################################################################
function cep(f) {
	ok = true;
	if ( (numero(f.substring(0,4)) & numero(f.substring(6,8)) ) & f.length == 9 ) {
		if (f.charAt(5) != "-") { ok = false; };
	} else ok = false; 
	
	return ok;
}
//#############################################################################
function valor(f) {
	var ok = true;
	
	if ( f.indexOf(",",0) > -1 ) ok = false;
	
	var vl = "";
	//Limpa numero para ver se contém apenas caracteres numéricos
	for (var k = 0; k < f.length; k++ ) {
		if ( f.charAt(k) != "." ) vl += f.charAt(k); 
	}
	
	if (!numero(vl)) ok = false;
	
	return ok;
}
//#############################################################################
function verCampoForms(f){
	var ok = true;
   	var msg = "ATENÇÃO:\n\n";	
	
	//Recupero através de um loop for o numero de campos do type == checkbox e radio.
	var checkC = 0; //Usada para testar campos do tipo checkbox.
	var radioC = 0; //Usada para testar campos do tipo radio.
	var total_ckb = 0;
	var total_rd = 0;
	for (var w = 0; w < f.elements.length; w++) {
			if (f.elements[w].type == "checkbox") total_ckb++;
			if (f.elements[w].type == "radio") total_rd++;
	}
	//----------------------------------------------------------------------
	
	for (var i = 0; i < f.elements.length; i++) {
	
		//===== Esta parte verifica se um campo é de email e verifica o formato =================|
		if (f.elements[i].name.indexOf("email",0) > -1 & f.elements[i].value.length > 0) {
			if (!email(f.elements[i].value)) {
				ok = false; 
				msg += " > " + f.elements[i].name.toUpperCase() + " inválido!\n";
			}		
		}//===================== Fim verificação se campo é do tipo email =======================|		
		
		//===== Esta parte verifica se um campo é de cnpj_cgc e verifica o formato ==============|
		if (f.elements[i].name.indexOf("cnpj",0) > -1 & f.elements[i].value.length > 0) {
			if (!CNPJ_CGC(f.elements[i].value)) {
				ok = false; 
				msg += " > " + f.elements[i].name.toUpperCase() + " inválido!\n";
			}		
		}//================== Fim verificação se campo é do tipo cnpj_cgc =======================|	
		
		//===== Esta parte verifica se um campo é de cpf e verifica o formato ===================|
		if (f.elements[i].name.indexOf("cpf",0) > -1 & f.elements[i].value.length > 0) {
			if (!CPF(f.elements[i].value)) {
				ok = false; 
				msg += " > " + f.elements[i].name.toUpperCase() + " inválido!\n";
			}		
		}//================== Fim verificação se campo é do tipo cpf ============================|
		
		//===== Esta parte verifica se um campo é de valor e verifica o formato =================|
		if (f.elements[i].name.indexOf("valor",0) > -1 & f.elements[i].value.length > 0) {
			if (!valor(f.elements[i].value)) {
				ok = false; 
				msg += " > " + f.elements[i].name.toUpperCase() + " inválido!\n";
			}		
		}//================== Fim verificação se campo é do tipo valor ==========================|
		
		//===== Esta parte verifica se um campo é de cep e verifica o formato ===================|
		if (f.elements[i].name.indexOf("cep",0) > -1 & f.elements[i].value.length < 8) {
				ok = false; 
				msg += " > " + f.elements[i].name.toUpperCase() + " inválido (mínimo 8 números)!\n";	
		}//================== Fim verificação se campo é do tipo cep ============================|
		
		//===== Esta parte verifica se um campo é do type = checkbox ============================|					
		if (f.elements[i].type == "checkbox") {
			if (f.elements[i].checked == false) checkC++; else checkC--;
			if (checkC == total_ckb) {
				ok = false; 
				msg += " > Selecione um dos campos " + f.elements[i].name.toUpperCase() + "!\n";
			}
		}//================== Fim verificação se campo é do type = checkbox =====================|
		
		//===== Esta parte verifica se um campo é do type = radio ============================|					
		if (f.elements[i].type == "radio") {
			if (f.elements[i].checked == false) radioC++; else radioC--;
			if (radioC == total_rd) {
				ok = false; 
				msg += " > Selecione um dos campos " + f.elements[i].name.toUpperCase() + "!\n";
			}
		}//================== Fim verificação se campo é do type = radio =====================|	
			
		if (f.elements[i].value.length == 0 & f.elements[i].type != "hidden") {			
			ok = false;
		  	msg += " > Preencha o campo " + f.elements[i].name.toUpperCase() + "!\n";			
		}
	
	}
	if (!ok) alert (msg); return ok;
}
//#############################################################################
function limpa_string(str) {
	var Dgts = "0123456789";
	var temp = "";
	var dgt = "";
    for ( var i = 0; i < str.length; i++ ) {
    	dgt = str.charAt(i);
      	if ( Dgts.indexOf(dgt) >= 0 ) temp += dgt;
    }
    return temp;
}
//#############################################################################
function email(str_email) {
		// Caracteres inválidos para o campo e-mail
		var invalidos = "\/:,;|=+*#%!§¬¹²³£¢><°ºª"			
		var ok = true;
		
		// Verifica a existência de caracteres inválidos no email_contato digitado
		for (i=0; i < invalidos.length; i++) {
			x = invalidos.charAt ( i )
			if (str_email.indexOf ( x , 0 ) > -1 ) {
				    ok = false;
			}
		}
		
		// Confere a existência do arroba "@" no email_contato digitado, se existe mais de um "@"
		// e se existe um "." com pelo menos dois caracteres após (Ex.: '.com' ou '.br')
		arroba = str_email.indexOf ( "@" , 1 )
		ponto = str_email.indexOf ( "." , arroba )
		
		if ( arroba == -1 || str_email.indexOf ( "@" , arroba+1 ) != -1 || ponto == -1 || ponto+3 > str_email.length ) {
			ok = false;
		}
		return ok;
}
//#############################################################################
function CPF(str) {
	var i;
	s = limpa_string(str);
	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 CNPJ_CGC(str) {
	var i;
	s = limpa_string(str);
	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 verCPF(f){
	var ok = true;
	var msg = "ATENÇÃO:\n\n";
	
	if (!CPF(f.cpf.value)) {
		ok = false; 
		msg += "CPF inválido!\n";
	}
		
	if (!ok) alert (msg);  return ok;   
}
//#############################################################################
function detalhes (ref) {
	if (!detalhes || detalhes.closed) {
		var detalhes = window.open("detalhes_imoveis.asp?ref=" + ref,"detalhes_imovel",'height=500px,width=550px,left=100px,top=15px,resizable=no,titlebar=no,status=no,scrollbars=no' );
		detalhes.focus();
	} else {
		detalhes.focus();
	}
}
// ---------------------------------------------------------------------------------
function lancamentos (id) {
	if (!lancamentos || lancamentos.closed) {
		var lancamentos = window.open("detalhes_lancamentos.asp?id=" + id,"lancamentos",'height=500px,width=550px,left=110px,top=25px,resizable=no,titlebar=no,status=no,scrollbars=no' );
		lancamentos.focus();
	} else {
		lancamentos.focus();
	}
}
// ---------------------------------------------------------------------------------
function imprimir (ref) {
	if (!imprimir || imprimir.closed) {
		var imprimir = window.open("imprimir.asp?ref=" + ref,"imprimir",'height=500px,width=700px,left=40px,top=20px,resizable=no,titlebar=no,status=yes,scrollbars=yes' );
		imprimir.focus();
	} else {
		imprimir.focus();
	}
}
// ---------------------------------------------------------------------------------
function proposta (ref) {
	if (!proposta || proposta.closed) {
		var proposta = window.open("proposta.asp?ref=" + ref,"proposta",'height=350px,width=550px,left=120px,top=110px,resizable=no,titlebar=no,status=no,scrollbars=no' );
		proposta.focus();
	} else {
		proposta.focus();
	}
}
// ---------------------------------------------------------------------------------
function reservados (ref) {
	if (!reservados || reservados.closed) {
		var reservados = window.open("reservados.asp?ref=" + ref,"reservados",'height=300px,width=417px,left=195px,top=145px,resizable=no,titlebar=no,status=no,scrollbars=yes');
		reservados.focus();
	} else {
		reservados.focus();
	}
}
// ---------------------------------------------------------------------------------
function multimidia (arq,leg,tp) {
	if (!multimidia || multimidia.closed) {
		var multimidia = window.open("multimidia.asp?arq=" + escape(arq) + "&leg=" + escape(leg)+ "&tp=" + escape(tp),"multimidia",'height=465px,width=400px,left=200px,top=40px,resizable=no,titlebar=no,status=yes,scrollbars=no' );
		multimidia.focus();
	} else {
		multimidia.focus();
	}
}
// ---------------------------------------------------------------------------------
function noticias (id) {
	if (!noticias || noticias.closed) {
		var noticias = window.open("noticias.asp?id=" + id,"noticias",'height=500px,width=550px,left=110px,top=25px,resizable=no,titlebar=no,status=no,scrollbars=yes' );
		noticias.focus();
	} else {
		noticias.focus();
	}
}
// ---------------------------------------------------------------------------------
function chat () {
	if (!chat || chat.closed) {
		var chat = window.open("https://ssl631.websiteseguro.com/biosweb1/clientes/souzagomes/chat/login.asp","chat",'height=200px,width=400px,left=200px,top=200px,resizable=no,titlebar=no,status=no,scrollbars=no' );
		chat.focus();
	} else {
		chat.focus();
	}
}
//#############################################################################
function NovaJanela (end,nome,alt,larg,x,y,scrollsn) {
	if (!novaJanela || novaJanela.closed) {
		var novaJanela = window.open(end,nome,'height='+alt+',width='+larg+',left='+x+',top='+y+',resizable=no,titlebar=no,status=yes,scrollbars='+scrollsn );
		novaJanela.focus();
	} else {
		novaJanela.focus();
	}
}
//#############################################################################
function negTexto(f) {
	f.value = limpa_string(f.value);
}
//############################################################################# 
function ExcluirImgs(tab,id) {
	if (confirm("ATENÇÃO:\n\nDeseja realmente excluir esta imagem?"))
		location.href = '?pg=operar_' + tab + '&acao=excluir_img&id=' + id;
	else return void(0);
}
//#############################################################################
function ems() {
			
	if (!janela_ems || janela_ems.closed) {
		var janela_ems = window.open("ems.asp","ems","height=220px,width=310px,left=220px,top=150px,resizable=no,titlebar=no,scrollbars=no");
		janela_ems.focus();
	} else {
		janela_ems.focus();
	}
		
}
//#############################################################################
function verConsulta(f){
	var c = 1;
	if (f.tipo.value.length == 0) c++;
	if (f.dorm_de.value.length == 0) c++;	
	if (f.dorm_ate.value.length == 0) c++;	
	if (f.para.value.length == 0) c++;	
	if (f.cidade.value.length == 0) c++;	
	if (f.ref.value.length == 0) c++;	
	if (f.endereco.value.length == 0) c++;	
	if (f.bairro1.value.length == 0) c++;	
	if (f.bairro2.value.length == 0) c++;
	if (f.valor_de.value.length == 0) c++;	
	if (f.valor_ate.value.length == 0) c++;	
	if (f.foto.value == 0) c++;	
	
	if (c > 12) {
		if (confirm("ATENÇÃO:\n\nEsta consulta retornará todos os imóveis cadastrados. Isso poderá consumir muitos minutos. Deseja continuar?"))
		return true; else return false;
	}
}
//#############################################################################
function operar_reservados(cm) {
	var refs = "";
	var f = document.reservados;
	if (cm == "md") { //Marcar/desmarcar todos
		if (f.elements[0].checked) var tf = false; else var tf = true;
		for (var i = 0; i < f.elements.length; i++) {
				f.elements[i].checked = tf;
		}
	} else {
		for (var i = 0; i < f.elements.length; i++) {
				if (f.elements[i].checked) {
					if (f.elements[i].type == "checkbox") refs += ";" + f.elements[i].name;
				}
		}
		if (cm == "excluir" && refs.length > 0) {
			document.reservados.refs.value = refs;
			document.reservados.submit();
		} else alert('ATENÇÃO:\n\nSelecione algum imóvel clicando na "caixa de seleção" para marcá-lo.')
	}
}
//#############################################################################
function desm_radio(f){
	for (var i = 0; i < f.length; i++) f[i].checked = false;
}
//#############################################################################
function verAnunciar(f,n) {
	var ok = true;
   	var msg = "ATENÇÃO:\n\n";
	var x = 0;
	var i = 0;
	
	if (f.tipo.value.length == 0) {
		ok = false; 
		msg += '—› Preencha o campo "Tipo de Imóvel"!\n';
	}
	
	for (i = 0; i < f.pos.length; i++) {
		if (!f.pos[i].checked) x++;
	}
	if (x == 3) {
		ok = false; 
		msg += '—› Selecione uma das opções: "Frente, Fundos ou Outros"!\n';
	}
	
	if (f.logradouro.value.length == 0) {
		ok = false; 
		msg += '—› Preencha o campo "Logradouro"!\n';
	}
	
	if (f.numero.value.length == 0) {
		ok = false; 
		msg += '—› Preencha o campo "Número"!\n';
	}
	
	if (f.bairro.value.length == 0) {
		ok = false; 
		msg += '—› Preencha o campo "Bairro"!\n';
	}
	
	if (f.cidade.value.length == 0) {
		ok = false; 
		msg += '—› Preencha o campo "Cidade"!\n';
	}
	
	if (f.uf.value.length == 0) {
		ok = false; 
		msg += '—› Preencha o campo "UF"!\n';
	}
	
	if (f.descricao.value.length == 0) {
		ok = false; 
		msg += '—› Preencha o campo "Descrição"!\n';
	}
	
	if (n == 0) { //Campos existentes apenas para VENDA
		if (f.valor.value.length == 0) {
			ok = false; 
			msg += '—› Preencha o campo "Valor"!\n';
		}
			
		x = 0;
		for (i = 0; i < f.sit_imovel.length; i++) {
			if (!f.sit_imovel[i].checked) x++;
		}
		if (x == 3) {
			ok = false; 
			msg += '—› Selecione uma das opções para "Situação do imóvel"!\n';
		}
		
		if (f.sit_imovel[2].checked) {  //Opção Alugado marcada
			if (f.vl_aluguel.value.length == 0) {
				ok = false; 
				msg += '—› Preencha o campo "Valor Aluguel"!\n';
			}
			
			if (f.inquilino.value.length == 0) {
				ok = false; 
				msg += '—› Preencha o campo "Inquilino"!\n';
			}
			
			if (f.tel_inquilino.value.length == 0) {
				ok = false; 
				msg += '—› Preencha o campo "Telefone inquilino"!\n';
			}
		}
		
		x = 0;
		for (i = 0; i < f.parad.length; i++) {
			if (!f.parad[i].checked) x++;
		}
		if (x == 3 & f.parad_outros.value.length == 0) {
			ok = false; 
			msg += '—› Selecione uma das opções "Para demonstrar imóvel"!\n';
		}
		
		x = 0;
		for (i = 0; i < f.docs.length; i++) {
			if (!f.docs[i].checked) x++;
		}
		if (x == 3 & f.docs_outros.value.length == 0) {
			ok = false; 
			msg += '—› Selecione uma das opções "Documentos imóvel"!\n';
		}
	}
		
	if (f.proprietario.value.length == 0) {
		ok = false; 
		msg += '—› Preencha o campo "Proprietário"!\n';
	}
	
	if (f.cpf_prop.value.length == 0) {
		ok = false; 
		msg += '—› Preencha o campo "CPF do proprietário"!\n';
	}
	
	if (f.tels_prop.value.length == 0) {
		ok = false; 
		msg += '—› Preencha o campo "Telefones proprietário"!\n';
	}
	
	if (n == 1) { //Campo existente apenas para LOCAÇÃO
		if (f.valor.value.length == 0) {
			ok = false; 
			msg += '—› Preencha o campo "Valor do Aluguel"!\n';
		}
	}
	
	if (n == 0) { //Campo existente apenas para VENDA
		if (f.dias_anuncio.value.length == 0) {
			ok = false; 
			msg += '—› Preencha o campo "Dias de vigor do anúncio"!\n';
		}
	}
	
	if (!ok) alert(msg); 
	return ok;
}
//#############################################################################
function bap(url) {
	if ( url.indexOf("logar",0) > -1 ) {
		if (document.extranetBap.email.value.length == 0 || document.extranetBap.senha.value.length == 0) url = "";		
	} else	url += '&email=' + document.extranetBap.email.value + '&senha=' + document.extranetBap.senha.value;	
	
	if (url.length > 0) {
		if (!janelaBAP || janelaBAP.closed) {
			var janelaBAP = window.open(url,"janelaBAP","height=100px,width=300px,left=250px,top=200px,resizable=no,titlebar=no,scrollbars=no");
			janelaBAP.focus();
		} else {
			janelaBAP.focus();
		}
	} else alert('ATENÇÃO:\n\nPara logar é necessário um "E-mail/Login" e uma Senha (mínimo 3 e máximo 10 caracteres)!');
}
//#############################################################################