	function aguarde(idObj) {
	  var obj = document.getElementById("ag_" + idObj);
	  if (obj) {
		obj.innerHTML = '<span id="' + idObj + '" class="list">Aguarde...</span>';
	  }
	}

	function montarLinks(procs) {
	  var aux = Limpar(procs, '1234567890.-,').split(',');
	  for (var i = 0; i < aux.length; i++) {
		document.write('<a href="javascript:detalhes(' + "'" + aux[i] + "'" + ')">' + aux[i] + '</a>');
		if (i < aux.length - 1) {
		  document.write(', ');
		}
	  }
	}

	function isValido(nome) {
	  var pos = nome.toLowerCase().lastIndexOf(".");
	  if (pos != -1) {
		var ext = nome.toLowerCase().substring(pos);
		if (ext == '.doc' || ext == '.xls' || ext == '.pdf' || ext == '.mpg' || ext == '.mpeg' || 
			ext == '.jpg' || ext == '.gif' || ext == '.mp3' || ext == '.rtf') return true;
	  }
	  return false;
	}

	//@list=capturarEnter(this, 'btn', event)
	function capturarEnter(cmp, btn, tecla) {
	  if (tecla.keyCode == 13) {
		var obj = document.getElementById(btn);
		if (obj) {
		  cmp.onblur();
		  obj.onclick();
		}
	  }
	}

	//@list=NotNumber(this)
	function NotNumber(target,tipo,msg){
		if (!msg || msg == "")
			msg = "Campo não aceita letras";
		if (!tipo || tipo == "")
			flag = Validar(target.value,"0123456789");
		else
			flag = Validar(target.value,"0123456789,.");
		if (flag == -1)
			{
				alert(msg);
				target.value = "";
				target.focus();
				return;
			}
	}

	function Validar(valor, validos) {
	/*se valor é valido, retorna -1. Senao, retorna o caracter invalido*/
	  for (var i=0; i < valor.length; i++) {
		  if (validos.indexOf(valor.substring(i, i+1))<0) {
			 return -1;
		  }
	  }
	  return 1;
	}
	function formatProcesso(cp){
		
	  if (designMode) {
		return;
	  }

	  localidadefederal = Limpar(localidadefederal, '1234567890,');
	 
	  if (localidadefederal == '') 
		localidadefederal = '00';
	  else {
		if (localidadefederal.indexOf(',') != -1){
			localidadefederal = '00';
		}
	  }
	 

	  if (cp.value == "") return;
	  var str = new String(cp.value);
	 


	  if (str.indexOf('?') != -1){
		var re = /\?/g;
		cp.value = str.replace(re,"_");
	  }
	 
  var str = Limpar(cp.value, '1234567890*+#_%.-');
  str = Limpar(cp.value, '1234567890+#*_%');

	 
	  var pos = str.indexOf('*');
	  var numeracaoUnica = false;
	  var tam_depois = 8;


	  if (pos == -1) {
		pos = str.indexOf('#');
	if (pos == -1) pos = str.indexOf('+');
		if (pos != -1) { 
		  numeracaoUnica = true;
		  tam_depois = 9;
		}
	  }
	  
	  var ano = new String(new Date().getFullYear());
	  var antes = '';
	  var depois = '';
	  if (pos != -1) {
		antes = str.substring(0, pos);
		depois = str.substring(pos + 1);
	  }

	 if ((antes.length == 2 || antes.length == 1 || antes.length == 0) && depois.length > 0 && depois.length < tam_depois) {
		if (antes.length == 2) {
          if (antes.substring(0,1) == 0 || antes.substring(0,1) == 1) {
			antes = "20" + antes;
		  } else {
			antes = "19" + antes;
		  }
		} else if (antes.length == 1) {
		  antes = "200" + antes;
		} else {
		  antes = ano;
		}
		
		if (depois.length < tam_depois && depois.indexOf('%') == -1) {
		  var tam = (tam_depois - 1) - depois.length;
		  for (var i = 0; i < tam; i++) {
			depois = "0" + depois;
		  }
		  if (numeracaoUnica) {
        cp.value = "05" + depois.substring(1,6) + "-" + depois.substring(6,8) + "." + antes + ".4.05." + regiaofederal + localidadefederal;
		  } else {
			cp.value =  antes + "." + regiaofederal + "." + localidadefederal + ".5" + depois.substring(1,6) + "-" + depois.substring(6,7);
		  }
		} else {
		  if (numeracaoUnica) {
			cp.value =  depois + "." + antes + ".405." + regiaofederal + localidadefederal;
		  } else {	

			cp.value =  antes + "." + regiaofederal + "." + localidadefederal + "." + depois;
		  }
		} 
	 
	  } else if (str.length == 15) {
		cp.value = str.substring(0,4) + "." + str.substring(4,6) + "." + str.substring(6,8) + "." + str.substring(8,14) + "-" + str.substring(14);
	  } else if (str.length == 20) {
    cp.value = str.substring(0,7) + "-" + str.substring(7,9) + "." + str.substring(9,13) + "." + str.substring(13,14) + "." + str.substring(14,16) + "." + str.substring(16);





	  } 
	}
	function unformatProcesso(cp){
		if (cp.value == "")
			return;
	  var str = new String(cp.value);
	  if (str.indexOf('%') != -1 || str.indexOf('_') != -1){
		var re = /_/g;
		cp.value = str.replace(re,"?");
	  } else
		cp.value = Limpar(cp.value, '1234567890');

	}

	function formatarNrProcessoDependente(cp) {
	  var str = Limpar(cp.value, '1234567890');
  if (str.length == 20) {
    cp.value = str.substring(0,7) + "-" + str.substring(7,9) + "." + str.substring(9,13) + "." + str.substring(13,14) + "." + str.substring(14,16) + "." + str.substring(16);
	  }
	}

	function limparNomeLogin(obj) {
	  obj.value = Limpar(obj.value, 'abcdefghijklmnopqrstuvxwyz_ABCDEFGHIJKLMNOPQRSTUVXWYZ0123456789');
	}

	function excluir(msg) {
	  if (!msg) msg = 'Deseja realmente excluir o registro?';
	  return confirm(msg);
	}

	function gravar() {
	  var frm = document.forms[0];
	  if (chkRequired(frm) && chkRequiredCombo(frm)) frm.submit(); 
	}

	function marcarTodos(id) {
	  var obj = document.getElementsByTagName('input')[id];
	  if (!obj.length) {
		obj.checked = true;
	  } else {
		for (var x = 0; x < obj.length; x++) {
		  obj[x].checked = true;
		}
	  }
	}

	function desmarcarTodos(id) {
	  var obj = document.getElementsByTagName('input')[id];
	  if (!obj.length) {
		obj.checked = false;
	  } else {
		for (var x = 0; x < obj.length; x++) {
		  obj[x].checked = false;
		}
	  }
	}

	function chkRequiredCombo(frm, msg){
		if (!msg || msg == "")
			msg = "Campo obrigatório não preenchido";
		var combo = frm.getElementsByTagName('SELECT');
		for (var i = 0; i < combo.length; i++)
			if (combo[i].getAttribute("REQUIRED") == "true")
				if (combo[i].value == -1){ 
					alert(msg);
					combo[i].focus();
					return false;
			}
	   return true;
	}

	function nextFocus(i) {
	  if (document.forms.length==0) return;
	  var f = window.document.forms[0]; 
	  var e = null; 
	  var firstLoop = true;
	  if (i >= f.elements.length) i = 0;
	  while (f.elements.length>i) {
		e = f.elements[i];
		if ((e.type == 'hidden') ||(e.type == null)) {
		  i=i+1;
		  if (i >= f.elements.length) {
		if (!firstLoop) return;
		firstLoop=false;
		i = 0;
		  }
		  continue;
		}
		if (e.disabled) {
		  i=i+1;
		  if (i >= f.elements.length) {
			if (!firstLoop) return;
			firstLoop=false;
			i = 0;
		  }
		  continue;
		}
		if (e.readOnly) {
		  i=i+1;
		  if (i >= f.elements.length) {
			if (!firstLoop) return;
			firstLoop=false;
			i = 0;
		   }
		   continue;
		}		
		if ((e.style.display == "none") || (e.style.visibility == "hidden")) {
		  i=i+1;
		  if (i >= f.elements.length) {
		if (!firstLoop) return;
		firstLoop=false;
		i = 0;
		  }
		  continue;
		}
		e.focus();
		break;
	  }
	}

	function autoTab(input,len, e) {
	  if (isNaN(parseInt(len, 10))) return;
	  var isNN = (navigator.appName.indexOf("Netscape")!=-1);
	  var keyCode = (isNN) ? e.which : e.keyCode; 
	  var filter = (isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46];
	  if (input.value.length >= len && !containsElement(filter,keyCode)) {
		input.value = input.value.slice(0, len);
		nextFocus((getIndex(input)+1) % input.form.length);
	  }
	}

	function containsElement(arr, ele) {
	  var found = false, index = 0;
	  while (!found && index < arr.length)
		if (arr[index] == ele)
		  found = true;
		else
		  index++;
	  return found;
	}

	function getIndex(input) {
	  var index = -1, i = 0, found = false;
	  while (i < input.form.length && index == -1)
	  if (input.form[i] == input) 
		index = i;
	  else i++;
	  return index;
	}


	// radio = document.forms[0].elements["nome do radio"];
	function getValueRadio(radio) {
	   if (!radio.length) {
		 if (radio.checked) return radio.value;
		 return "undefined";
	   }
	   for (var i = 0; i < radio.length; i++) {
		  if (radio[i].checked) return radio[i].value;
	   }
	   return "undefined";
	}

	function trim(cp) {
	   var txt = new String(cp.value);
	   while((txt.charAt(0)==" ")||(txt.charAt(txt.length-1)==" "))
		  txt = txt.replace(/^ /,"").replace(/ $/,"");
	   return cp.value = txt;
	}

	function marcar(id, valor) {
	  var obj = document.getElementsByTagName("input")[id];
	  if (obj) {
		if (obj.length) {
		  for (i = 0; i < obj.length; i++) if (obj[i]) obj[i].checked = valor;
		} else {
		  obj.checked = valor;
		}
	  }
	}


	function zerosEsquerda(obj) {
	  if (obj.size) {
		var tamTotal = obj.size;
		var tam = obj.value.length;
		for (var x = 0; x < (tamTotal - tam); x++) {
		  obj.value = '0' + obj.value;
		}
	  }
	}

	//@list=FormataValor(this,event) 2 casas decimais e não aceita sinal negativo
	function FormataValor(campo,tecla, dec, fl_neg) {
		if (dec==undefined) dec=2;
		if (tecla.keyCode == 35 || tecla.keyCode == 36 || tecla.keyCode == 37 || tecla.keyCode == 38 ||
			tecla.keyCode == 39 || tecla.keyCode == 40 || tecla.keyCode == 34 || tecla.keyCode == 33)
			return;
		var vr = new String(campo.value);
		if (fl_neg=='negativo')
		{
		  var neg = vr.indexOf('-');
		}
		
		vr = Limpar(vr,"0123456789");
		if (vr.length > 0) {
		  while (vr.charAt(0) == '0' && vr.length > 1) vr = vr.substring(1);
		}
		var tam = vr.length;
		var aux = "";
		if ( tam <= dec ){ 
			for (i=tam-1; i<dec;i++) { 
				vr = "0" + vr;
				tam = vr.length;
			}
			campo.value = vr ; }
		if ( (tam > dec) && (tam <= dec+3) ){
			if (dec == 0) {
			  campo.value = vr.substr( 0, tam - dec ) ;
			} else {
			  campo.value = vr.substr( 0, tam - dec ) + ',' + vr.substr( tam - dec, tam ) ; 
			}
		}
		if ( (tam >= dec+4) && (tam <= dec+6) ){
			if (dec == 0) {
			  campo.value = vr.substr( 0, tam - (dec+3) ) + '.' + vr.substr( tam - (dec+3), 3 ); 
			} else {
			  campo.value = vr.substr( 0, tam - (dec+3) ) + '.' + vr.substr( tam - (dec+3), 3 ) + ',' + vr.substr( tam - dec, tam ) ; 
			}
		}
		if ( (tam >= dec+7) && (tam <= dec+9) ){
			if (dec == 0) {
			  campo.value = vr.substr( 0, tam - (dec+6) ) + '.' + vr.substr( tam - (dec+6), 3 ) + '.' + vr.substr( tam - (dec+3), 3 ) ; 
			} else {
			  campo.value = vr.substr( 0, tam - (dec+6) ) + '.' + vr.substr( tam - (dec+6), 3 ) + '.' + vr.substr( tam - (dec+3), 3 ) + ',' + vr.substr( tam - dec, tam ) ; 
			}
		}
		if ( (tam >= dec+10) && (tam <= dec+12) ){
			if (dec == 0) {
			  campo.value = vr.substr( 0, tam - (dec+9) ) + '.' + vr.substr( tam - (dec+9), 3 ) + '.' + vr.substr( tam - (dec+6), 3 ) + '.' + vr.substr( tam - (dec+3), 3 ) ;
			} else {
			  campo.value = vr.substr( 0, tam - (dec+9) ) + '.' + vr.substr( tam - (dec+9), 3 ) + '.' + vr.substr( tam - (dec+6), 3 ) + '.' + vr.substr( tam - (dec+3), 3 ) + ',' + vr.substr( tam - dec, tam ) ;
			}
		}
		if ( (tam >= dec+13) && (tam <= dec+15) ){
			if (dec == 0) {
			  campo.value = vr.substr( 0, tam - (dec+12) ) + '.' + vr.substr( tam - (dec+12), 3 ) + '.' + vr.substr( tam - (dec+9), 3 ) + '.' + vr.substr( tam - (dec+6), 3 ) + '.' + vr.substr( tam - (dec+3), 3 ) ;
			} else {
			  campo.value = vr.substr( 0, tam - (dec+12) ) + '.' + vr.substr( tam - (dec+12), 3 ) + '.' + vr.substr( tam - (dec+9), 3 ) + '.' + vr.substr( tam - (dec+6), 3 ) + '.' + vr.substr( tam - (dec+3), 3 ) + ',' + vr.substr( tam - dec, tam ) ;
			}
		}
		if ( (tam >= dec+16) && (tam <= dec+18) ){
			if (dec == 0) {
			  campo.value = vr.substr( 0, tam - (dec+15) ) + '.' + vr.substr( tam - (dec+15), 3 ) + '.' + vr.substr( tam - (dec+12), 3 ) + '.' + vr.substr( tam - (dec+9), 3 ) + '.' + vr.substr( tam - (dec+6), 3 ) + '.' + vr.substr( tam - (dec+3), 3 ) ;
			} else {
			  campo.value = vr.substr( 0, tam - (dec+15) ) + '.' + vr.substr( tam - (dec+15), 3 ) + '.' + vr.substr( tam - (dec+12), 3 ) + '.' + vr.substr( tam - (dec+9), 3 ) + '.' + vr.substr( tam - (dec+6), 3 ) + '.' + vr.substr( tam - (dec+3), 3 ) + ',' + vr.substr( tam - dec, tam ) ;
			}
		}
		var aux = "0,";
			if (dec == 0) aux = "0";
		for (i = 0; i < dec; i++) {
		  aux = aux + "0";
		}

		if (aux == campo.value && (tecla.keyCode == 8 || tecla.keyCode == 46)) campo.value = "";
		if (fl_neg=='negativo')
		{
			  if (neg=='0') {campo.value='-'+campo.value; aux='-'+aux;}
		}

	}