// validaCIE.js

// Formata numeros, acrescentando as casas decimais zeradas
function fmtValor(pVOrigem){
	vOrigem = '';
	vOrigem += pVOrigem;

	if(vOrigem.lastIndexOf('.') > 0){
		numero_inteiro = vOrigem.substr(0,vOrigem.lastIndexOf('.'));
		numero_decimal = vOrigem.substr(vOrigem.lastIndexOf('.')+1,vOrigem.length);
		if(numero_decimal.length < 2){
			numero_decimal += '0';
		}
	}
	else{
		numero_inteiro = vOrigem;
		numero_decimal = '00';
	}
	
	vDestino = fmtValorSemDecimal(numero_inteiro);
	return vDestino + ',' + numero_decimal;
}

// Formata numeros
function fmtValorSemDecimal(pValorOrigem){
	valorOrigem = '';
	valorOrigem += pValorOrigem;
	valorDestino = '';
	ind = 0;
	for(i=valorOrigem.length;i >= 0; i--){
		valorDestino = valorOrigem.substr(i,1) + valorDestino;
		if((ind != 0) && ((ind%3)==0) && (i != 0) ){
			valorDestino = '.' + valorDestino;
		}
		ind++;
	}
	return valorDestino;
}

		function JustNumber(What) {
			var WhatClean = '';
			for (var i = 0; (i <= (What.length - 1)); i++) {
				for (var j = 0; ((j <= 9) && (true)); j++) {
					if (What.charAt(i) == '' + j) {
						WhatClean += What.charAt(i);
						break;
					}
				}
			}
			return WhatClean;
		}

// Formata o valor de um campo
function fmtValorCampo(obj){
	if (obj != null) {
		valor = Trim(obj.value);
		if(valor != ''){
			//valor = valor.replace('.','');
			valor = JustNumber(valor);			
			
			if(isNaN(valor)){
				valor = '';
				alert("valor não é numero" + valor);
			}
			else{
				valor = Math.floor(valor);
				
			}		
		}
		obj.value = fmtValorSemDecimal(valor);
		
	}
}

//Função que formata valores com números inteiros e decimais (1054296) = R$ 10.542,96
function moeda(valorCampo, texto) {
 valor = zeros(limpaInteiro(valorCampo));
 if (valor.length > 2) {
  valorCampo = converteMoeda(valor);
 } else {
  valorCampo = valor;
  if(valor != 0) {
  	alert('Por favor, preencha o campo ' + texto + ' com no mínimo 3 caracteres.\r' + 'Ex.: 001');
  }
 }
 return valorCampo;
}
 
function limpaInteiro(valor) {
 vazio = '';
 for (var i = 0; (i <= (valor.length - 1)); i++) {
 for (var j = 0; ((j <= 9) && (true)); j++) {
  if (valor.charAt(i) == '' + j) {
  vazio += valor.charAt(i);
  break;
  }
 }
 }
 return vazio;
}
 
function zeros(valor) {
 i = 0; vazio = ''; flag = false;
 if (valor.length > 3){
   for (i = 0; i <= (valor.length -1); i++){
     if ((valor.charAt(i) != '0') || (flag)){
      flag = true;
      vazio += valor.charAt(i);
     }
   }
 } else {
   vazio = valor;
 }
 return vazio;
}
 
function converteMoeda(valor) {
 i = 0; j = 0; flag = 0; vazio = '';
 if (valor.length > 5){
   flag = (valor.length - 2) % 3;
   if (flag == 0) j = 0;
   if (flag == 1) j = 2;
   if (flag == 2) j = 1;
   for (i = 0; (i <= (valor.length - 3)); i++) {
     if (j == 3) {
       vazio += '.';
       j = 0;
     }
     vazio += valor.charAt(i);
     j++;
   }
   vazio = vazio + ',' + SubStr(valor, (valor.length - 2), (valor.length - 1));
 }else{
   if (valor.length == 5)
     vazio = SubStr(valor, 0, 2) + ',' + SubStr(valor, 3, 4);
   if (valor.length == 4)
     vazio = SubStr(valor, 0, 1) + ',' + SubStr(valor, 2, 3);
   if (valor.length == 3)
     vazio = valor.charAt(0) + ',' + SubStr(valor, 1, 2);
   if (valor.length == 2)
     vazio = '0,' + valor;
   if (valor.length == 1)
     vazio = '0,0' + valor;
 }
 return vazio;
}
 
function SubStr(valor, inicial, quantidade) {
 resultado = ''; i = 0;
 for (var i = inicial; (i <= quantidade); i++) {
   resultado += valor.charAt(i);
 }
 return resultado;
}

//Essa função formata números inteiros e retira a dízima periódica que é gerada nos cálculos em javascript.
function FormataNumeroInteiro(calculo) {

	var resultado;
	
	resultado = calculo.toString().split(".");
	
	if (resultado[1]) {
		
		//Verifica se o número decimal é inteiro e adiciona um zero "0".
		//Exemplo: 12000.5 = 12000.50
		if (resultado[1].length == 1) {
			calculo = resultado[0] + "." + resultado[1] + "0";
		} else {
			calculo = resultado[0] + "." + resultado[1].substring(0,2);
		}
	} else {
		calculo = resultado[0] + ".00";
	}
	
	return calculo;
}

function fmtCampoData (obj) {
	if (obj != null) {
		valor = trim(obj.value);
		if(valor != ''){
			valor = valor.replace('/','');
			valor = valor.replace('-','');
			valor = valor.replace('.','');
			if(isNaN(valor)){
				valor = '';
			}
			else{
				dia = SubStr(valor, 0, 1);
				mes = SubStr(valor, 2, 3);
				ano = SubStr(valor, 4, 7);
				valor = dia+'/'+mes+'/'+ano;
			}		
		}
		obj.value = valor;
	}
}

function limpaFormatacaoCampo (obj){
	if (obj != null) {
		valor = trim(obj.value);
		if(valor != ''){
			valor = valor.replace('/','');	valor = valor.replace('/','');
			valor = valor.replace('-','');	valor = valor.replace('-','');
			valor = valor.replace('.','');	valor = valor.replace('.','');
		}
		obj.value = valor;
	}
}

function trim(str)
{
   return str.replace(/^\s*|\s*$/g,"");
}
