//habilita somente entrada de números
//Para chamar essa function usar: MascaraInteiro(this);
function MascaraInteiro(objeto){
	var keypress = event.keyCode; 
	var campo = eval (objeto);

	var sCaracteres = '0123456789';

	if (sCaracteres.indexOf(String.fromCharCode(keypress))!=-1){
		event.returnValue = true;
    }else
		event.returnValue = false;
}

// Marca e desmarca todas as checkboxes de um form
function selectAllCombo(form, strControle, blnSel){

	for(i=0;i< form.length;i++){

		e=form.elements[i];
		
		if (e.type=='checkbox' && e.name!=strControle && e.checked==false && blnSel== 1) e.checked=true;
		if (e.type=='checkbox' && e.name!=strControle && e.checked==true && blnSel== 0) e.checked=false;
			
		}
}

//Mascara para numeros decimais, não deixando digitar mais de 2 casas apos a virgula
function MascaraDecimal(objeto){
	var keypress = event.keyCode; 
	var campo = eval (objeto);

	var sCaracteres = '0123456789,';

	if (sCaracteres.indexOf(String.fromCharCode(keypress))!=-1){
		event.returnValue = true;
    }else
		event.returnValue = false;
}

//Arredonda casas decimais
function Arredonda(objeto){
   var campo = eval (objeto);
   
   var valor = campo.value;
   var valornovo;
   
   alert (valor);
   
   valornovo = Math.round( valor * Math.pow( 10 , 2 ) ) / Math.pow( 10 , 2 );
   alert(valornovo);
   campo.value = valornovo;
}


//permite somente a entrada de uma data valida
//Para chamar essa function usar: MascaraData(this);
function MascaraData(objeto){
	var campo = eval (objeto);
	var separador = '/'; 
	var conjunto1 = 2;
	var conjunto2 = 5;

	if (campo.value.length != conjunto1 || campo.value.length != conjunto2){
		var keypress = event.keyCode;

		if (keypress < 48 || keypress > 57){
			event.returnValue = false
		}
	}

	if (campo.value.length == conjunto1){
		campo.value = campo.value + separador;
	}
	if (campo.value.length == conjunto2){
		campo.value = campo.value + separador;
	}
}

//Passar como parametro o objeto em referencia e o nome do outro objeto
//Exemplo: MudaCheckBox(this,'nome do outro objeto');
function MudaCheckBox(objeto,nomeobj2){
	var campo1 = eval(objeto);
	var nomecampo;
	
	nomecampo = left(campo1.name, campo1.name.lastIndexOf(':') + 1);
	nomecampo += nomeobj2;
	
	var campo2 = eval(document.all(nomecampo))
	
	if (campo1.checked){
		campo2.checked = false;
	}
}

// Para telas onde precisa limitar os combos selecionados
//		qtd_exist: Quantidade de itens já existentes "marcados"
//		qtd_max: Número máximo de itens que podem ser marcados.
//		objeto: Checkbox
function verificarPermissao(qtd_exist,qtd_max,objeto) {
	var intSel;
	var form = eval(document.all('Form1'));
	
	intSel=0;
	
	for(i=0;i< form.length;i++){
		e = form.elements[i];
	
		if (e.type=='checkbox' && e.checked==true) 
			{intSel++;}
	}
	
	qtd_exist = qtd_exist + intSel;
	
	if (qtd_max < qtd_exist)
			objeto.checked=false;
}

function right(expressao,tamanho){
	var inicio = expressao.length - tamanho;
	return expressao.substring(inicio,expressao.length);
}

function left(expressao,tamanho){
	return expressao.substring(0,tamanho);
}


// Verifica se uma variável só possui números.
function IsNumber(numero)
{
   var i;
   var nPonto = 0;

   for (i = 0; i < numero.length; i++)
   {
      if (numero.charAt(i) < "0" || numero.charAt(i) > "9")
      {
	      return false;
      }
   }
   return true;
}

// Verifica se é um valor monetario valido para o idioma corrente
function IsCurrency(numero, idioma)
{
	return IsDecimal(numero, 2, idioma)
}

// Funções para verificação de CPF ou CNPJ

//Função para Cálculo do Digito do CPF/CNPJ
function DigitoCPFCNPJ(numCIC) {
var numDois = numCIC.substring(numCIC.length-2, numCIC.length);
var novoCIC = numCIC.substring(0, numCIC.length-2);
switch (numCIC.length){
 case 11 :
  numLim = 11;
  break;
 case 14 :
  numLim = 9;
  break;
 default : return false;
}
var numSoma = 0;
var Fator = 1;
for (var i=novoCIC.length-1; i>=0 ; i--) {
 Fator = Fator + 1;
 if (Fator > numLim) {
  Fator = 2;
 }
 numSoma = numSoma + (Fator * Number(novoCIC.substring(i, i+1)));
}
numSoma = numSoma/11;
var numResto = Math.round( 11 * (numSoma - Math.floor(numSoma)));
   if (numResto > 1) {
 numResto = 11 - numResto;
   }
   else {
 numResto = 0;
   }
   //-- Primeiro dígito calculado.  Fará parte do novo cálculo.
   
   var numDigito = String(numResto);
   novoCIC = novoCIC.concat(numResto);
   //--
numSoma = 0;
Fator = 1;
for (var i=novoCIC.length-1; i>=0 ; i--) {
 Fator = Fator + 1;
 if (Fator > numLim) {
  Fator = 2;
 }
 numSoma = numSoma + (Fator * Number(novoCIC.substring(i, i+1)));
}
numSoma = numSoma/11;
numResto = numResto = Math.round( 11 * (numSoma - Math.floor(numSoma)));
   if (numResto > 1) {
 numResto = 11 - numResto;
   }
   else {
 numResto = 0;
   }
//-- Segundo dígito calculado.
numDigito = numDigito.concat(numResto);
if (numDigito == numDois) {
 return true;
}
else {
 return false;
}
}
//--< Fim da Função >--

//-- Retorna uma string apenas com os números da string enviada
function ApenasNum(strParm) {
strParm = String(strParm);
var chrPrt = "0";
var strRet = "";
var j=0;
for (var i=0; i < strParm.length; i++) {
 chrPrt = strParm.substring(i, i+1);
 if ( chrPrt.match(/\d/) ) {
  if (j==0) {
   strRet = chrPrt;
   j=1;
  }
  else {
   strRet = strRet.concat(chrPrt);
  }
 }
}
return strRet;
}
//--< Fim da Função >--

//-- Somente aceita os caracteres válidos para CPF e CNPJ.
function PreencheCIC(objCIC) {
var chrP = objCIC.substring(objCIC.length-1, objCIC.length);

if ( !chrP.match(/[0-9]/) && !chrP.match(/[\/.-]/) ) {
 objCIC = objCIC.substring(0, objCIC.length-1);
 return false;
}
return true;
}
//--< Fim da Função >--

function FormataCIC (numCIC) {
numCIC = String(numCIC);
switch (numCIC.length){
case 11 :
 return numCIC.substring(0,3) + "." + numCIC.substring(3,6) + "." + numCIC.substring(6,9) + "-" + numCIC.substring(9,11);
case 14 :
 return numCIC.substring(0,2) + "." + numCIC.substring(2,5) + "." + numCIC.substring(5,8) + "/" + numCIC.substring(8,12) + "-" + numCIC.substring(12,14);
default : 
 //alert("Tamanho incorreto do CPF ou CNPJ!");
 return "";
}
}

//-- Remove os sinais, deixando apenas os números e reconstroi o CPF ou CNPJ, verificando a validade
//-- Recebe como parâmetros o número do CPF ou CNPJ, com ou sem sinais e o atualiza com sinais é validado.
function ConfereCIC(objCIC) {
if (objCIC == null) {
 //alert("Preenchimento obrigatório do CPF ou CNPJ");
 return false;
}
var strCPFPat  = /^\d{3}\.\d{3}\.\d{3}-\d{2}$/;
var strCNPJPat = /^\d{2}\.\d{3}\.\d{3}\/\d{4}-\d{2}$/;

numCPFCNPJ = ApenasNum(objCIC);

if (!DigitoCPFCNPJ(numCPFCNPJ)) {
 //alert("Atenção o Dígito verificador do CPF ou CNPJ é inválido!");
 return false;
}

objCIC = FormataCIC(numCPFCNPJ);

if (objCIC.match(strCNPJPat))
 {
  objCIC = ApenasNum(numCPFCNPJ);
 return true;
}
else if (objCIC.match(strCPFPat))
 {
 objCIC = ApenasNum(numCPFCNPJ);
 return true;
}
else {
 //alert("Digite um CPF ou CNPJ válido!");
  objCIC = ApenasNum(numCPFCNPJ);
 return false;
}

}
//Fim da Função para Cálculo do Digito do CPF/CNPJ


// Funcao que nao permite o evento Paste no TextBox
function fnBeforePaste() {
   // event.returnValue = false;
}


// Funcao que verifica se usuario esta digitando numeros
// Verifica DIGITACAO
function fnPressNumero(sValor)
{
	var nKey;	
	nKey = window.event.keyCode;	
	
	if ( !((nKey >= 46 && nKey < 58)  || (nKey >= 95 && nKey <= 105) || (nKey >= 16 && nKey < 18) || (nKey >= 35 && nKey < 40)  || nKey==8 || nKey==9  || nKey==13)) // nao e' numerico
		
		return false;

}

//Funcao para calcular a soma
function fnCalcular(objSoma, objVlTotal){
	//var objValor = eval(objSoma);
	//objVlTotal = eval(objVlTotal);
	
	var obj = eval(objVlTotal);
	
	//alert(objSoma.id);
	alert(document.forms[0].lblTotal.Text);
	
	
	//var vl1, vl2;
	
	//objVlTotal = 0;
	
	//vl1 = objVlTotal;
	//vl2 = objSoma.value;
	
	
	
	//alert(vl1);
	
	//objVlTotal = vl1 + vl2;

	//alert(objVlTotal);
}