function formataNumero(valor, casaDecimal){
	var casasAtu, aux;
	var cdec = Math.pow(10, parseInt(casaDecimal));
	var novoValor = valor * cdec;
	novoValor = Math.round(novoValor);
	novoValor = ""+eval(novoValor / cdec);
	if(novoValor.indexOf(".")==-1) novoValor += ".0";
	casasAtu = parseInt(novoValor.length - (novoValor.indexOf(".")+1));
	for(aux=casasAtu;aux<casaDecimal;aux++){
		novoValor += "0";
	};
	return novoValor;
};
 
//-------------------------------------------

function getValue(nmCampo, valida){
	// valida 0 = aceita texto, 1 = valida os números (uso para campo numérico)
	var auxNumber = 0;
	var getObject = document.getElementById(nmCampo);
	if(typeof(getObject)=="object"){
		if(typeof(getObject.innerHTML)!="undefined"){
			auxNumber = getObject.innerHTML;
		};
		if(typeof(getObject.value)!="undefined"){
			auxNumber = getObject.value;
		};
		if(parseInt(valida)==1){
			auxNumber = replacejsNumero(auxNumber, ",", ".");
			if(isNaN(auxNumber)==true){
				auxNumber = 0;
			}else{
				auxNumber = parseFloat(auxNumber);
			};
			if(isNaN(auxNumber)==true) auxNumber = 0;
		};
	};
	return auxNumber;
};

//-------------------------------------------

function setValue(nmCampo, novoValor){
	var getObject = document.getElementById(nmCampo);
	if(typeof(getObject)=="object"){
		if(typeof(getObject.innerHTML)!="undefined"){
			getObject.innerHTML = novoValor;
		};
		if(typeof(getObject.value)!="undefined"){
			getObject.value = novoValor;
		};
	};
};

//-------------------------------------------

function calculaLinha(numRegistro){
	var idFinal = numRegistro;
	var auxValores = 0;
	
	// Calculo do valor total
	auxValores = getValue("vl_un_"+numRegistro, 1) * getValue("txt_qtd_"+numRegistro, 1) * getValue("num_qtdCx_"+numRegistro, 1);
	setValue("vl_total_"+numRegistro, formataNumero(auxValores, 2));

	calculaTotalLinha();
};

//----------------------------------------------------------------

function campoNumerico(objCx){
	var numaux = "";
	var ptdecimal = 0;
	var code;

	if (navigator.appName == 'Microsoft Internet Explorer') {
		code = event.keyCode;
 	} else if (navigator.appName == 'Netscape') {
		code = event.which; 
 	};
 	if(parseInt(code)==9 || parseInt(code)==16 || parseInt(code)==17 || parseInt(code)==18 || parseInt(code)==20 || parseInt(code)==37 || parseInt(code)==38 || parseInt(code)==39 || parseInt(code)==40 || parseInt(code)==8 || parseInt(code)==46) return;

	if(typeof(objCx)=="object"){
		valor = replacejsNumero(objCx.value, ",", ".");
	}else{
		valor = replacejsNumero(objCx, ",", ".");
	};
	for(aux=0;aux<valor.length;aux++){
		if(valor.substr(aux,1)!="."){
			if(isNaN(valor.substr(aux,1))==false&&valor.substr(aux,1)!=" "){
				numaux+=valor.substr(aux, 1);
			};
		}else{
			if(ptdecimal<1){
				numaux+=valor.substr(aux, 1);
				ptdecimal++;
			};
		};
	};
	if(typeof(objCx)=="object"){
		objCx.value = numaux;
	}else{
		return numaux;
	};
};

//----------------------------------------------------------------

function replacejsNumero(valororiginal,stringtroca,novovalor){
	if(stringtroca=="."){
		var constante = /\./i;
	}else{
		var constante = eval("/"+stringtroca+"/i");
	};
	var valortrocado = valororiginal;
	while(valortrocado.indexOf(stringtroca)>=0){
		valortrocado = valortrocado.replace(constante, novovalor);
	};
	return valortrocado;
};