var globalFaixas = new Array(15);
var globalEmo = new Array(15);
function getFaixa(valor) {
	var vlr = (valor.replace(/\./g,'')).replace(',','.'); 
	for (var i = 0; i < 15; i++) if (vlr <= globalFaixas[i]) break;
	return i;
}
function getZona(cep) {
	if (cep.length < 5) for (var f=cep.length+1; f <= 5; f++) cep += '0' ;
	if (cep == '00000' || (cep >= '90000' && cep <= '91999')) return '0;CEP de Porto Alegre';
	else if ((cep >= '92000' && cep <= '92449') || (cep >= '94000' && cep <= '94329') || 
			 (cep >= '94400' && cep <= '94729') || (cep >= '94800' && cep <= '94889') ||
			 (cep >= '94900' && cep <= '94999')) {
		return '1;CEP Fora de Perímetro';
	}
	else return '2;CEP entrega Correio'; 
}

function formatar(src, mask, e) {
	if (!e) var e = window.event;
	var _TXT = (e.keyCode) ? e.keyCode : e.which;
	if (_TXT > 47 && _TXT < 58) { 
		var i = src.value.length; 
		var saida = mask.substring(0,1); 
		var texto = mask.substring(i) 
		if (texto.substring(0,1) != saida) src.value += texto.substring(0,1); 
		return true; 
	} 
	else if (_TXT != 8 && _TXT != 13) return false; 
	else return true; 
}

function MM_moeda(campo, separador_milhar, separador_decimal, tecla) {
	var sep = 0;
	var key = '';
	var i = j = 0;
	var len = len2 = 0;
	var strCheck = '0123456789';
	var aux = aux2 = '';
	if (!tecla) var tecla = window.event;
	var whichCode = (tecla.keyCode) ? tecla.keyCode : tecla.which;
	if (whichCode == 13) return true; // Tecla Enter
	if (whichCode == 8) return true; // Tecla Delete
	key = String.fromCharCode(whichCode); // Pegando o valor digitado
	if (strCheck.indexOf(key) == -1) return false; // Valor inválido (não inteiro)
	len = campo.value.length;
	if (len > 14) return false;
	for(i = 0; i < len; i++)
	if ((campo.value.charAt(i) != '0') && (campo.value.charAt(i) != separador_decimal)) break;
	aux = '';
	for(; i < len; i++)
	if (strCheck.indexOf(campo.value.charAt(i))!=-1) aux += campo.value.charAt(i);
	aux += key;
	len = aux.length;
	if (len == 0) campo.value = '';
	if (len == 1) campo.value = '0'+ separador_decimal + '0' + aux;
	if (len == 2) campo.value = '0'+ separador_decimal + aux;
	if (len > 2) {
		aux2 = '';
		for (j = 0, i = len - 3; i >= 0; i--) {
			if (j == 3) {
				aux2 += separador_milhar;
				j = 0;
			}
			aux2 += aux.charAt(i);
			j++;
		}
		campo.value = '';
		len2 = aux2.length;
		for (i = len2 - 1; i >= 0; i--)
		campo.value += aux2.charAt(i);
		campo.value += separador_decimal + aux.substr(len - 2, len);
	}
	return false;
}

function realFormat(valor) {
	var temp = valor.split('.');
	return temp[0].replace(',','.')+','+temp[1];
}
function myCalcEmo(valor,cep){
	if (valor == '') valor = '0.00';
	var i = getFaixa(valor);
	var zona = getZona(cep).split(';');
	document.getElementById("retValor").innerHTML = 'Informou: R$ '+valor;
	document.getElementById("retCEP").innerHTML= zona[1] ;
	document.getElementById('retEmo').innerHTML = 'Emolumento: R$ '+ realFormat(globalEmo[i][zona[0]]);
	document.getElementById("vlrTitulo").value = '';
	document.getElementById("vlrTitulo").focus();
}

function bugEmoApt(msg) {
	if (!msg) {
		msg = 'No momento, o Servidor recusou sua consulta!';
	}
	document.getElementById("retEmo").innerHTML=msg;
}
function emolValores() {
	document.getElementById("retEmo").innerHTML='&nbsp;';
	var myJSON = eval('(' + xhr.responseText + ')');
	if (myJSON.ok) {
		document.getElementById("retEmo").innerHTML='Resultado:';
		var j; var i;
		for (i = 0;i<10;i++) {
			globalFaixas[i] = parseFloat(myJSON.faixas[i]);
			globalEmo[i] = new Array(2);
			for (j = 0;j<3;j++) { 
				document.getElementById("emo".concat((i*3)+j)).innerHTML = myJSON.emol[i][j].replace('.',',');
				globalEmo[i][j] = myJSON.emol[i][j];
			}
		}
		for (i = i;i<=15;i++) {
			globalFaixas[i] = parseFloat(myJSON.faixas[i]);
			globalEmo[i] = new Array(2);
			for (j = 0;j<3;j++) globalEmo[i][j] = myJSON.emol[i][j];
		}
	}
	else {bugEmoApt('Houve erro no cálculo!'); }
}

function emolAponte(){
	var okProt = '';
	document.getElementById("retEmo").innerHTML='<div class="loading">buscando</div>';
	trataDados = emolValores;
	erroJx = bugEmoApt;	
	parametros = '!';
	okProt = requisicaoHTTP("POST","pfunctions/setEmolumentos.php",true);
	if (okProt) bugEmoApt(okProt);
}

function setEmoApteEvents()  {
	document.getElementById("vlrTitulo").focus();
 	addEvent(document.getElementById('vlrTitulo'), 'keypress', function(event) {
		cancelmyEvent(MM_moeda(this,'.',',',event),event);
	});
 	addEvent(document.getElementById('cep'), 'keypress', function(event) {
		cancelmyEvent(formatar(this, '?????', event),event);
	});
 	addEvent(document.getElementById('calemoF'), 'submit', function(event) {
		myCalcEmo(this.vlrTitulo.value,this.cep.value);
		cancelmyEvent(false,event);
	});
	emolAponte();
}

// Initializations *****************
setTab(2);
addEvent(window,'load',setEmoApteEvents);
