// JavaScript Imobiliarias Apici.com.br

//Imprime erro
function Exibe_erro(id,message){
	if(!document.getElementById("div_erro"+id)){
		div_erro = document.createElement("span");
		texto = document.createTextNode(message);
		div_erro.setAttribute("id","div_erro"+id);
		div_erro.setAttribute("className","class_erro");
		div_erro.appendChild(texto);
		document.getElementById(id).parentNode.appendChild(div_erro);
	}else{
		document.getElementById("div_erro"+id).innerHTML=message;
		}
	document.getElementById(id).className="input_erros";
}

//Limpa para nova verificação de erros
function Limpa_erros(form){
	d = document.getElementById(form);
	var e = d.getElementsByTagName("span");
		for(i=0;i<e.length;i++){
				if(e[i].className=="class_erro")
					e[i].innerHTML="";
		}
	var e2 = d.getElementsByTagName("input");
		for(i2=0;i2<e2.length;i2++){
				if(e2[i2].className=="input_erros")
					e2[i2].className="input";
		}
}

// Validação Geral
function validacao(arr1,arr2,arr3,frm,f){
	varArray1 = arr1.split('$');
	varArray2 = arr2.split('$');
	varArray3 = arr3.split('$');
	vr_erro = 0;
	Limpa_erros(f);
	
	for (i2=0;i2<varArray2.length;i2++){
			switch(varArray2[i2]){
				case "text" :
					vr_erro += validar_vazio(varArray1[i2],varArray3[i2]);
					break;
				
				case "email" :
					vr_erro += valida_email(varArray1[i2]);
					break;
				case "email_base" :
					vr_erro += valida_email2(varArray1[i2]);
					break;
				
				case "select" :
					vr_erro += valida_select(varArray1[i2],varArray3[i2]);
					break;
				
				case "checkbox" :
					vr_erro += valida_check(varArray1[i2],varArray3[i2],frm);
					break;
				
				case "data" :
					vr_erro += valida_data_moeda(varArray1[i2],varArray3[i2],1);
					break;
				
				case "moeda" :
					vr_erro += valida_data_moeda(varArray1[i2],varArray3[i2],2);
					break;
									
				case "senha" :
					arr_senha = varArray1[i2].split('-');
					vr_erro += ver_senha_confirm(arr_senha[0],arr_senha[1]);
					break;
					
				case "cpf" :
					vr_erro += validaCPF(varArray1[i2],varArray3[i2]);
					break;
					
				case "cnpj" :
					vr_erro += validaCNPJ(varArray1[i2]);
					break;
			}
	}
		return vr_erro;
}

// verificar texto vazio
function validar_vazio(ob,mes){
obj = document.getElementById(ob);
erro = 0;
vl = "";
vl = obj.value;
if(obj.value.length > 0){
	for(i3=0;i3<obj.value.length;i3++){
		if(vl.substring(0,1) == " "){
			vl = vl.substring(1,vl.length);
		}else{
			break;
		}	
	}
	obj.value = vl;
}
	if(obj.value == ""){
		Exibe_erro(ob,mes);
		erro = 1;
	}
	return erro;
}
// Validar Confirmação de senha
function ver_senha_confirm(obj,obj2){
id = document.getElementById(obj)
id2 = document.getElementById(obj2)
erro = 0;
	if(id.value.length<6){
		Exibe_erro(obj,"Mínimo 6 caracteres.");
		Exibe_erro(obj2,"**");
		erro = 1;
	}else{
		if(id.value != id2.value){
			Exibe_erro(obj,"**");
			Exibe_erro(obj2,"Senha não confere.");
			erro = 1;
		}
	}
return erro;
}
// Validar Email 
function valida_email(vl){
obj = document.getElementById(vl);
erro = 0;
	if(obj){
		if (obj.value.indexOf("@") == -1 ||	obj.value.indexOf(".") == -1 || obj.value.length < 6) {
				Exibe_erro(vl,"Email Inválido!");
				erro = 1;
		}
	}
return erro;
}

function banco_email(vl){
	document.getElementById("err_email_bd").value == "0"
	//alert(this.path);
	ajax_retorna(this.path+"ajax/valida_email_anunciante.php?email="+vl);
}

function valida_email2(vl){
	obj = document.getElementById(vl);
	erro = 0;
	if(obj){
		if (obj.value.indexOf("@") == -1 ||	obj.value.indexOf(".") == -1 || obj.value.length < 6) {
				Exibe_erro(vl,"Email Inválido!");
				erro = 1;
		}else{
			if(document.getElementById("err_email_bd").value == "1"){
				erro = 1;
				Exibe_erro(vl,"Email já utilizado no site!");
				document.getElementById("div_erro"+vl).className="class_erro";
			}else{
				Exibe_erro(vl,"ok");
				document.getElementById("div_erro"+vl).className="no_erro";
				erro = 0;
			}
		}
	}
	return erro;
}
// Validar checkbox
function valida_check(vl,message,fr){
	d_check = document.getElementById(fr);
	e_check = d_check.getElementsByTagName("input");
	erro = 1;	
		for(i4=0;i4<e_check.length;i4++){
			if(e_check[i4].id == vl){
				if(e_check[i4].checked == true){erro = 0;}
			}
		}
		if(erro == 1){Exibe_erro(vl,message);}
	return erro;
}

//Validar Select
function valida_select(ob,mes){
	erro = 0;
	obj = document.getElementById(ob);
		if(obj.options[obj.selectedIndex].value == ""){
			Exibe_erro(ob,mes);
			erro = 1;
			}
		return erro;
}

//Validar Data ou moeda
function valida_data_moeda(vl,mes,tp){
	erro = 0;
	e = document.getElementById(vl);
	switch(tp){
		case 1 : //Data
			var reTipo = /^((0[1-9]|[12]\d)\/(0[1-9]|1[0-2])|30\/(0[13-9]|1[0-2])|31\/(0[13578]|1[02]))\/\d{4}$/;
			break;
		case 2: //Moeda
			var reTipo = /^[+-]?((\d+|\d{1,3}(\.\d{3})+)(\,\d*)?|\,\d+)$/;
			break;
	}
	if(reTipo.test(e.value)){erro=0;}
	else{erro=1;Exibe_erro(vl,mes);}
	return erro;
}

function excuir(vl,pg){
	if(vl!="")
	if(confirm("Deseja realmente Excluir?"))
	if(confirm("Após a exclusão não será possivel reverter a ação.\nDeseja realmente excluir e os itens relacionados?"))
		location=pg+".php?imsp="+vl;
}

function formata(campo, mask, evt) {
	if(document.all) { // Internet Explorer
		key = evt.keyCode; }
	else{ // Nestcape
		key = evt.which; }
	if (key == 8) {
		return true; }
	string = campo.value;  
	i = string.length;
	if (i < mask.length) {
		if (mask.charAt(i) == '?') {
			return (key > 47 && key < 58);
		} else {
			if (mask.charAt(i) == '!') {  return true;  }
				for (c = i; c < mask.length; c++) {
					if (mask.charAt(c) != '?' && mask.charAt(c) != '!')
						campo.value = campo.value + mask.charAt(c);
					else if (mask.charAt(c) == '!'){
						return true;
					} else {
						return (key > 47 && key < 58);
					}
			}
		}
	} 
	else{return false;}
}

function formata_cnpj(campo){
	string = campo.value;
	numcpf = string.replace(".","");
	numcpf = numcpf.replace(".","");
	numcpf = numcpf.replace("/","");
	numcpf = numcpf.replace("-","");
	//alert(numcpf);
	cnpj1 = numcpf.substring(0,2);
	cnpj2 = numcpf.substring(2,5);
	cnpj3 = numcpf.substring(5,8);
	cnpj4 = numcpf.substring(8,12);
	cnpj5 = numcpf.substring(12,14);
	
	campo.value = cnpj1 + "." + cnpj2 + "." + cnpj3 + "/" + cnpj4 + "-" + cnpj5
}

function validaCPF(cpf,mes)
{
	x = 0;soma = 0;dig1 = 0;dig2 = 0;texto = "";
	numcpf = document.getElementById(cpf).value;
	numcpf = numcpf.replace(".","");
	numcpf = numcpf.replace(".","");
	numcpf = numcpf.replace("/","");
	numcpf = numcpf.replace("-","");
	
	len = numcpf.length; x = len -1;
	// var numcpf = "12345678909";
	for (var i=0; i <= len - 3; i++) {
		y = numcpf.substring(i,i+1);
		soma = soma + ( y * x);
		x = x - 1;
		texto = texto + y;
	}
	dig1 = 11 - (soma % 11);
	if (dig1 == 10) dig1=0 ;
	if (dig1 == 11) dig1=0 ;
	numcpf1 = numcpf.substring(0,len - 2) + dig1 ;
	x = 11; soma=0;
	for (var i=0; i <= len - 2; i++) {
		soma = soma + (numcpf1.substring(i,i+1) * x);
		x = x - 1;
	}
	dig2= 11 - (soma % 11);
	if (dig2 == 10) dig2=0;
	if (dig2 == 11) dig2=0;
	//alert ("Digito Verificador : " + dig1 + "" + dig2);
	if ((dig1 + "" + dig2) == numcpf.substring(len,len-2)) {
		return 0;
	}
	Exibe_erro(cpf,mes);
	return 1;
}

function validaCNPJ(ob) {
	CNPJ = document.getElementById(ob).value;
	erro = "";
	if (CNPJ.length < 18) erro += "CNPJ Inválido";
	if ((CNPJ.charAt(2) != ".") || (CNPJ.charAt(6) != ".") || (CNPJ.charAt(10) != "/") || (CNPJ.charAt(15) != "-"))
	{
		if (erro.length == 0) erro += "CNPJ Inválido!";
	}
	//substituir os caracteres que nao sao numeros
	if(document.layers && parseInt(navigator.appVersion) == 4)
	{
		x = CNPJ.substring(0,2);
		x += CNPJ.substring(3,6);
		x += CNPJ.substring(7,10);
		x += CNPJ.substring(11,15);
		x += CNPJ.substring(16,18);
		CNPJ = x;
	} else {
		CNPJ = CNPJ.replace(".","");
		CNPJ = CNPJ.replace(".","");
		CNPJ = CNPJ.replace("-","");
		CNPJ = CNPJ.replace("/","");
	}
	var nonNumbers = /\D/;
	if (nonNumbers.test(CNPJ)) erro += "Apenas números! \n\n";
	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] = CNPJ.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 ((CNPJ.charAt(12) != a[12]) || (CNPJ.charAt(13) != a[13])){
		erro +="CNPJ Inválido!";
		}
	if (erro.length > 0){
		Exibe_erro(ob,erro);
		return 1;
	} else {
		return 0;
		}	
}

function pageScroll(tot) {
    	window.scrollBy(0,100); // horizontal and vertical scroll increments
		e = eval(document.getElementById("scroll").value);t = tot;
		if(e < eval(tot)){
			document.getElementById("scroll").value = e+1;
			scrolldelay = setTimeout('pageScroll(t)',100); // scrolls every 100 milliseconds
		}else{clearTimeout(scrolldelay);}
}

function apicimoeda(num,cp){
	x = 0;
	if(num<0) {
		num = Math.abs(num);
		x = 1;
	}
	if(isNaN(num)) num = "0";
	cents = Math.floor((num*100+0.5)%100);
	num = Math.floor((num*100+0.5)/100).toString();

	if(cents < 10) cents = "0" + cents;
		for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++){
			num = num.substring(0,num.length-(4*i+3))+'.'+num.substring(num.length-(4*i+3));
			ret = num + ',' + cents;
			if (x == 1) ret = ' - ' + ret;
			document.getElementById(cp).value=ret;
		}
}

function currencyFormat(fld, milSep, decSep, e) {
  var sep = 0;
  var key = '';
  var i = j = 0;
  var len = len2 = 0;
  var strCheck = '0123456789';
  var aux = aux2 = '';
  var whichCode = (window.Event) ? e.which : e.keyCode;

  if (whichCode == 13) return true;  // Enter
  if (whichCode == 8) return true;  // Delete
  key = String.fromCharCode(whichCode);  // Get key value from key code
  if (strCheck.indexOf(key) == -1) return false;  // Not a valid key
  len = fld.value.length;
  for(i = 0; i < len; i++)
  if ((fld.value.charAt(i) != '0') && (fld.value.charAt(i) != decSep)) break;
  aux = '';
  for(; i < len; i++)
  if (strCheck.indexOf(fld.value.charAt(i))!=-1) aux += fld.value.charAt(i);
  aux += key;
  len = aux.length;
  if (len == 0) fld.value = '';
  if (len == 1) fld.value = '0'+ decSep + '0' + aux;
  if (len == 2) fld.value = '0'+ decSep + aux;
  if (len > 2) {
    aux2 = '';
    for (j = 0, i = len - 3; i >= 0; i--) {
      if (j == 3) {
        aux2 += milSep;
        j = 0;
      }
      aux2 += aux.charAt(i);
      j++;
    }
    fld.value = '';
    len2 = aux2.length;
    for (i = len2 - 1; i >= 0; i--)
    fld.value += aux2.charAt(i);
    fld.value += decSep + aux.substr(len - 2, len);
  }
  return false;
}

function vernumero(evt){
	if(document.all){key = evt.keyCode;}else{key = evt.which;}
	return (key > 47 && key < 58);
}

function checar_caps_lock(ev) {
	//if(document.all){e = evt.keyCode;}else{e = evt.which;}
	var e = ev || window.event;
	codigo_tecla = e.keyCode?e.keyCode:e.which;
	tecla_shift = e.shiftKey?e.shiftKey:((codigo_tecla == 16)?true:false);
	if(((codigo_tecla >= 65 && codigo_tecla <= 90) && !tecla_shift) || ((codigo_tecla >= 97 && codigo_tecla <= 122) && tecla_shift)) {
		document.getElementById('aviso_caps_lock').style.display = "";
	}else{document.getElementById('aviso_caps_lock').style.display = "none";}
}
