function validaCampoNumerico(e, objeto, tipoMascara)
{
	var keynum
	var keychar
	var numcheck
         
	   
	if(window.event) // IE
	 {
		 keynum = e.keyCode
	 }
	else if(e.which) // Netscape/Firefox/Opera
	 {
		 keynum = e.which
	 }
	 else
	 {
	 	keynum = e.keyCode
	 }
	 	
	
		
	 if(keynum == 8 || keynum == 9 || keynum == 16 || keynum == 17 || keynum == 18 || (keynum >= 35 && keynum <= 40))
	 {
		  return true;
	 }

    if (keynum >= 48 && keynum <= 57) {
   	    if (tipoMascara=='CARTAO') {
   	    	mascaraCartao(objeto);
   	    } else if (tipoMascara=='CPF') {
   	    	mascaraCpf(objeto);
   	    } else if (tipoMascara=='CARTAO_BIN') {
   	    	mascaraCartaoBin(objeto);
   	    }
   	    
    	return true;
	}
	
		
return false;
}



function mascaraCartao(objeto){

	campo = eval(objeto);
	separador = '.';
	
	if(campo.value.length == 4 || campo.value.length == 9 || campo.value.length == 14){
		campo.value = campo.value + separador;
	}
}

function mascaraCartaoBin(objeto){

	campo = eval(objeto);
	separador = '.';
	
	if(campo.value.length == 2 || campo.value.length == 7){
		campo.value = campo.value + separador;
	}
}

function mascaraCpf(objeto){

	campo = eval(objeto);
	separador1 = '.';
	separador2 = '-';
	
	if(campo.value.length == 3 || campo.value.length == 7){
		campo.value = campo.value + separador1;
	} else if (campo.value.length == 11) {
		campo.value = campo.value + separador2;
	}
}

function voltarPagina(url) {
	window.location.href = url;
}

function calculaDigitoVerificador(numeroCartao){
	
	var numeros;
	var multiplicadores = new Array (18,17,16,15,14,13,12,19,10,9,8,7,6,5,4);
	var total = 0;
	var digitoVerificador;
	var j;
	numeros = numeroCartao.replace(/\./g,'');
	
	
	for(j = 0; j <= 14; j++){
		total += (multiplicadores[j] * numeros.charAt(j));
	}
	
	digitoVerificador = 11 - (total%11);

	if(digitoVerificador > 9){
		digitoVerificador -= 10 ; 
	}

	return digitoVerificador;
}

function validaCartao(numeroCartao) {
	if (numeroCartao.length != 19) {
	    return false;
	} else {
		if (calculaDigitoVerificador(numeroCartao) == numeroCartao.charAt(18)) {
			return true;
		} else {
			return false;
		}
	}
}

function validaString(str) {
	return str != null && str != ''  ;
}

function validaData(dia, mes, ano, nomeCampo){

		if(!validaString(dia) || !validaString(mes)  || !validaString(ano) ){
			alert("O campo '" + nomeCampo + "' deve ser preenchido.");
			return false;
		}
		
		if(dia > 31 || dia < 1){
			alert("O campo dia foi informado incorretamente.");
			return false;
		} 
		
		if(mes > 12 || mes < 1){
			alert("O m?s do campo '" + nomeCampo + "' foi informado incorretamente.");
			return false;
		}
		
		if(ano.length != 4){
			alert("O ano do campo '" + nomeCampo + "' foi informado incorretamente.");
			return false;
		}
		
		if(ano%4!=0 && mes==2 && dia>28){
			alert("O m?s do campo '" + nomeCampo + "' possui apenas 28 dias.");
			return false;
		}
		
		if(ano%4==0 && mes==2 && dia>29){
			alert("O m?s do campo  '" + nomeCampo + "' possui apenas 29 dias.");
			return false;
		}
		
		if(mes == '04' || mes == '06' || mes == '09' || mes == '11'){
		
			if(dia > 30){
				alert("O m?s especificado no campo '" + nomeCampo + "' possui apenas 30 dias.");
				return false;
			}
		}
		return true;
}




function validaCpf(numcpf){

	x = 0;
	soma = 0;
	dig1 = 0;
	dig2 = 0;

	if(numcpf == null || numcpf == ""){
		alert("Campo CPF n?o pode estar vazio!");
		return false;
	}
	numcpf = numcpf.replace(/\./g,'');
	numcpf = numcpf.replace(/-/g,'');

	texto = "";
	numcpf1="";
	len = numcpf.length; x = len -1;


	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;
	if ((dig1 + "" + dig2) != numcpf.substring(len,len-2)) {
		alert ("N?mero do CPF inv?lido!");
		return false;
	}

	return true;
}

function validaLojaContrato(lojaContrato) {
	if (/[^0-9\/]/.test(lojaContrato)) {
		return false;
	} else {
		return /^[0-9]{1,6}\/[0-9]{1,8}$/.test(lojaContrato);
	}
}

function formatoMoeda(num) {
	num = num.toString().replace(/\$|\,/g,'');
	if(isNaN(num)) {
		num = "0";
	}
	sign = (num == (num = Math.abs(num)));
	num = Math.floor(num*100+0.50000000001);
	cents = num%100;
	num = Math.floor(num/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));
	}
	return (((sign)?'':'-') + num + ',' + cents);
}

  	function avancarCampo(atual, proximo) {
	 	
	 	var campoAtual = document.getElementById(atual);
		var campoProximo = document.getElementById(proximo);
		var maxlength = campoAtual.getAttribute('maxlength');
		
		if(campoAtual.value.length == maxlength)  {
			campoProximo.focus();
		} else {
			campoAtual.focus();
		}
	}
	
	function formatarCpf(src) {
 		var i = src.length;
 		var dif = 11 - i;
 		var j = 0;
 		for(j = 0 ;j <  dif; j++) {
 			src = "0" + src;
 		} 
 		reCpf  = /(\d{3})(\d{3})(\d{3})(\d{2})$/;
		src = src.replace(reCpf, "$1.$2.$3-$4");
 		
  		return src;
  	}	
  	
  	function formatarBin(src) {
 		reCpf  = /(\d{4})(\d{2})$/;
		src = src.replace(reCpf, "$1.$2");
 		
  		return src;
  	}	
  	
  	function setSelectionRange(input, selectionStart, selectionEnd) {
	  if (input.setSelectionRange) {
	    input.focus();
	    input.setSelectionRange(selectionStart, selectionEnd);
	  }
	  else if (input.createTextRange) {
	    var range = input.createTextRange();
	    range.collapse(true);
	    range.moveEnd('character', selectionEnd);
	    range.moveStart('character', selectionStart);
	    range.select();
	  }
	}
	
	function setCaretToEnd (input) {
	  setSelectionRange(input, input.value.length, input.value.length);
	}
	
	function setCaretToBegin (input) {
	  setSelectionRange(input, 0, 0);
	}
	
	function setCaretToPos (input, pos) {
	  setSelectionRange(input, pos, pos);
	}
	
	function selectString (input, string) {
	  var match = new RegExp(string, "i").exec(input.value);
	  if (match) {
	    setSelectionRange (input, match.index, match.index + match
	[0].length);
	  }
	}
	
	function replaceSelection (input, replaceString) {
	  if (input.setSelectionRange) {
	    var selectionStart = input.selectionStart;
	    var selectionEnd = input.selectionEnd;
	    input.value = input.value.substring(0, selectionStart)
	                  + replaceString
	                  + input.value.substring(selectionEnd);
	    if (selectionStart != selectionEnd) // has there been a selection
	      setSelectionRange(input, selectionStart, selectionStart + 
			replaceString.length);
	    else // set caret
	      setCaretToPos(input, selectionStart + replaceString.length);
	  }
	  else if (document.selection) {
	    var range = document.selection.createRange();
	    if (range.parentElement() == input) {
	      var isCollapsed = range.text == '';
	      range.text = replaceString;
	      if (!isCollapsed)  { // there has been a selection
	        //it appears range.select() should select the newly 
	        //inserted text but that fails with IE
	        range.moveStart('character', -replaceString.length);
	        range.select();
	      }
	    }
	  }
	}
  	
  	
function validaGregorianMilliseconds(data) {
	if (data.length != 19) {
	    return false;
	} else {
		if (calculaDigitoVerificador(data) == data.charAt(18)) {
			return true;
		} else {
			return false;
		}
	}
	
}
function createDateGregorian(data) {
      var newRadioButton= document.createElement("input");
     newRadioButton.type = "hidden";
     newRadioButton.id = "gregorian";
     newRadioButton.name = "gregorian";
     newRadioButton.value = data;
     document.forms[0].appendChild(newRadioButton);
}



function validaCampoNumericoSemZero(e)
{
	var keynum
	var keychar
	var numcheck
         
	   
	if(window.event) // IE
	 {
		 keynum = e.keyCode
	 }
	else if(e.which) // Netscape/Firefox/Opera
	 {
		 keynum = e.which
	 }
	 else
	 {
	 	keynum = e.keyCode
	 }

		
	 if(keynum == 8 || keynum == 9 || keynum == 16 || keynum == 17 || keynum == 18 || (keynum >= 35 && keynum <= 40)  || (keynum >= 49 && keynum <= 57) )
	 {
		  return true;
	 }

    return false;
}
