  /************INICIO************/
 /********ON ERRROR AJAX********/
/******************************/

function OnError(arg0, arg1)
{
	alert(arg0+" : "+ arg1);
}

  /*************FIM**************/
 /********ON ERRROR AJAX********/
/******************************/

  /*****************INICIO*********************/
 /********VALIDACAO EM TEMPO DIGITACAO********/
/********************************************/

var oldObj = "";
var oldValor = "";
var inteiro = new RegExp("[0-9]");

function checaTelefone(obj)
{
	  valor = obj.value;
	  if(valor != oldValor || oldObj != obj){
		for(i=0;i<valor.length;i++){
		  if(!inteiro.test(valor.charAt(i))){
			valor = valor.substring(0,i) + valor.substring(i+1,valor.length);
			i = -1;
		  }
		}
		if(valor.length < 1){
		  valor = "";
		}else if(valor.length < 3){
		  valor = "(" + valor.substring(0,2);
		}else if(valor.length < 7){
		  valor = "(" + valor.substring(0,2) + ")" + valor.substring(2,6);
		}else{
		  valor = "(" + valor.substring(0,2) + ")" + valor.substring(2,6) + "-" + valor.substring(6,10);
		}
		obj.value = valor;
		oldValor = valor;
		oldObj = obj;
  	  }
}

function reformataTelefone(obj)
{
	  valor = obj.value;
	  var valorNovo = "";;
	  if(valor.length < 13){
		for(i=0;i<valor.length;i++){
		  if(inteiro.test(valor.charAt(i))){
			valorNovo = valorNovo + valor.charAt(i);
		  }
		}
		valorNovo = "(" + valorNovo.substring(0,2) + ")" + valorNovo.substring(2,5) + "-" + valorNovo.substring(5,9);
		obj.value = valorNovo;
	 }
}

function checaInteiro(obj) {

	valor = obj.value;
	for( i = 0; i < valor.length; i++) {
		if (!inteiro.test(valor.charAt(i))) {
			valor = valor.substring(0, i) + valor.substring(i + 1, valor.length);
			i = -1;
		}
	}
	obj.value = valor;
}

function checaAlfaNumerico(obj) {

	// teclas de direcao
	if (event.keyCode >= 35 && event.keyCode <= 40) {
		return;
	}

	// delete e backspace
	if (event.keyCode == 46 || event.keyCode == 8) {
		return;
	}

	valor = obj.value;
	for (i = 0; i < valor.length; i++) {
		valor = valor.substring(0, i) + valor.charAt(i).toUpperCase() + valor.substring(i + 1, valor.length);
		if (!isAlpha(valor.charAt(i))) {
				valor = valor.substring(0, i) + valor.substring(i + 1, valor.length);
			i = -1;
		}
	}
	obj.value = valor;
}

function isAlpha(value) {

	if ((value >= "0") && (value <= "9")) {
		return true;
	}

	if ((value >= "A") && (value <= "Z")) {
		return true;
	}

	return false;
}


function checaCEP(obj)
{
  valor = obj.value;
  if(valor != oldValor || oldObj != obj){
	for(i=0;i<valor.length;i++){
	  if(!inteiro.test(valor.charAt(i))){
		valor = valor.substring(0,i) + valor.substring(i+1,valor.length);
		if(valor.length == 1){
		  !inteiro.test(valor)?valor = "":0;
		}
		i = -1;
	  }
	}
	if(valor.length < 1){
	  valor = "";
	}else if(valor.length > 5 && valor.length < 9){
	  valor = valor.substring(0,5) + "-" +  valor.substring(5,valor.length);
	}else if(valor.length > 8){
	  valor = valor.substring(0,5) + "-" +  valor.substring(5,8);
	}
	obj.value = valor;
	oldValor = valor;
	oldObj = obj;
  }
}

function checaCPF(obj)
{
  valor = obj.value;
  if(valor != oldValor || oldObj != obj){
	for(i=0;i<valor.length;i++){
	  if(!inteiro.test(valor.charAt(i))){
		valor = valor.substring(0,i) + valor.substring(i+1,valor.length);
		i = -1;
	  }
	}
	if(valor.length < 1){
	  valor = "";
	}else if(valor.length > 3 && valor.length < 7){
	  valor = valor.substring(0,3) + "." + valor.substring(3,valor.length);
	}else if(valor.length > 6 && valor.length < 10){
	  valor = valor.substring(0,3) + "." + valor.substring(3,6) + "." + valor.substring(6,valor.length);
	}else if(valor.length > 9 && valor.length < 12){
	  valor = valor.substring(0,3) + "." + valor.substring(3,6) + "." + valor.substring(6,9) + "-" + valor.substring(9,valor.length);
	}else if(valor.length > 11){
	  valor = valor.substring(0,3) + "." + valor.substring(3,6) + "." + valor.substring(6,9) + "-" + valor.substring(9,11);
	}
	obj.value = valor;
	oldValor = valor;
	oldObj = obj;
  }
}


  /*******************FIM**********************/
 /********VALIDACAO EM TEMPO DIGITACAO********/
/********************************************/

//----------------------------------------------------------------------------------
//--- MAXLEN PARA TEXTAREA ---------------------------------------------------------
function limite_digitacao(event, texto, tamanho){

	if (texto.value.length > tamanho){
	
		event.keyCode=0;
		
		texto.value = texto.value.substring(0,tamanho);
		
		//alert("Esta caixa está limitada em "+tamanho+" caracteres.");
	}

}

//----------------------------------------------------------------------------------

//----------------------------------------------------------------------------------
// DESABILITA OS CAMPOS DO FORMULARIO
// EXCETO O BOTAO VOLTAR, FILTRAR E A CAIXA DE TEXTO TXTFILTRO.
//----------------------------------------------------------------------------------

function validaCpf(s)
{
	var i;
			
	while( s.indexOf('.')>-1 || s.indexOf('-')>-1 )
	{	
		s = s.replace('.', '');
		s = s.replace('-', '');
		
	}
	
	if (s.length < 11)
	{
		return false;
	}

	var c = s.substr(0,9);
	var dv = s.substr(9,2);
	var d1 = 0;
	
	for (i = 0; i < 9; i++)
  	{
		d1 += c.charAt(i)*(10-i);
		
	}

	if (d1 == 0)
	{
		alert("CPF Invalido")
		return false;
	}

	d1 = 11 - (d1 % 11);
	
	if (d1 > 9) d1 = 0;

	if (dv.charAt(0) != d1)
 	{
		return false;
	}

	d1 *= 2;
	
	for (i = 0; i < 9; i++)
	{
  		d1 += c.charAt(i)*(11-i);
		
  	}

	d1 = 11 - (d1 % 11);
	
	if (d1 > 9) d1 = 0;
	
	if (dv.charAt(1) != d1)
	{
		return false;
	}

	return true;
}

function desabilitaCampos(somenteConsulta)
{
	if(somenteConsulta)
	{
		var inputs = document.getElementsByTagName("INPUT");
	
		for(var i=0; i<inputs.length; i++)
		{
			if(inputs[i].id!='cmdVoltar' && inputs[i].id!='cmdFiltrar' && inputs[i].id!='txtFiltro' && inputs.type!='hidden')
			{
				inputs[i].disabled = true;
			}
		}
		
		var cbos = document.getElementsByTagName("SELECT");
		for(var i=0; i<cbos.length; i++)
		{
			cbos[i].disabled = true;
		}
		
		var txtAreas = document.getElementsByTagName("TEXTAREA");
		for(var i=0; i<txtAreas.length; i++)
		{
			txtAreas[i].disabled = true;
		}
	}
	
}

//----------------------------------------------------------------------------------
// TRATA ENTER
// colocar a chamada dela sempre no onload do body
//----------------------------------------------------------------------------------
enterAsTab = function(){ //v1.0
	function next(e){
		var l, i, f, j, o = e.target;
		if(e.key == 13 && !/textarea|button/i.test(o.type)){
			for(i = l = (f = o.form.elements).length; f[--i] != o;);
			for(j = i; (j = (j + 1) % l) != i && (!f[j].type || f[j].disabled || f[j].readOnly || f[j].type.toLowerCase() == "hidden"););
			e.preventDefault(), j != i && f[j].focus();
			e.preventDefault(), j != i && f[j].select && f[j].select();
			//e.preventDefault(), j != i && f[j].select();
		}
	}
	for(var f, i = (f = document.forms).length; i; addEvent(f[--i], "keypress", next));
};
addEvent = function(o, e, f, s){
    var r = o[r = "_" + (e = "on" + e)] = o[r] || (o[e] ? [[o[e], o]] : []), a, c, d;
    r[r.length] = [f, s || o], o[e] = function(e){
        try{
            (e = e || event).preventDefault || (e.preventDefault = function(){e.returnValue = false;});
            e.stopPropagation || (e.stopPropagation = function(){e.cancelBubble = true;});
            e.target || (e.target = e.srcElement || null);
            e.key = (e.which + 1 || e.keyCode + 1) - 1 || 0;
        }catch(f){}
        for(d = 1, f = r.length; f; r[--f] && (a = r[f][0], o = r[f][1], a.call ? c = a.call(o, e) : (o._ = a, c = o._(e), o._ = null), d &= c !== false));
        return e = null, !!d;
    }
};

//----------------------------------------------------------------------------------
function pixExibeMensagem(msg, callback, tipo_msg){
	if (msg != "") 
	{
		pixWndAlert(msg, "", callback, tipo_msg);
	}
}
//------------------------------------------------------------------------------------------
/*
 * Rotinas para equivalencia de browser
 */

//----------------------------------------------------------------------------------
// Rotina que busca a parte selecionada de um objeto. Existe por causa da diferença entre o IE e o FireFox
// é usada em quase todo o evento que tratará a digitação do usuário
//----------------------------------------------------------------------------------
function pixObtemSelecao()
{
      if(document.selection)
      {
            return document.selection.createRange().text;
      }
      else if(window.getSelection)
      {
            return window.getSelection();
      }     
      else
      {
            throw "not FF or IE.";
      }
}
//----------------------------------------------------------------------------------
// Rotina que retorna o KeyCode de um objeto. Existe por causa da diferença entre o IE e o FireFox
// é usada em quase todo o evento que tratará a digitação do usuário
//----------------------------------------------------------------------------------
function getKeyCode(e, isControlKey)
{
	var charCode;

	if(!window.event)
	{
		//if(!e) throw "O evento não está sendo passado na chamada de função."; // somente durante desenvolvimento
		if(!isControlKey)
		{
			charCode = e.charCode;
		}
		else
		{
			charCode = (e.charCode!=0) ? e.charCode: e.keyCode;
		}
	}	
	else
	{
		charCode = window.event.keyCode;
	}
	
	return charCode;
}
//----------------------------------------------------------------------------
   
function blockKey(e)
{	
	if(!window.event)
	{	
		//if(!e) throw "O evento não está sendo passado na chamada de função"; // somente durante desenvolvimento
		return false;
	}	
	else
	{
		window.event.keyCode=0;
	}
}
//------------------------------------------------------------------------------------------
//----------------------------------------------------------------------------------
// Rotinas de Validação de Digitação.
// Devem ser incluídos em todos os projetos no onKeypress
//----------------------------------------------------------------------------------

	function pixVData(e){
 		if ((getKeyCode(e) < 47 || getKeyCode(e) > 57) && getKeyCode(e) != 13) 
		{
	 		return blockKey(e);
		}

		return true;      
   	}

//------------------------------------------------------------------------------------
	function validaData(data)
	{	var strData = data.value;
	
		if (strData.length != 10)
		{	 
			return false;
		}
		
		var Dia = strData.substr(0, 2);
		var Mes = strData.substr(3, 2);
		var Ano = strData.substr(6, 4);

		//resolvendo o problema do octal
		if(Dia.charAt(0)=='0') Dia = Dia.charAt(1);
		if(Mes.charAt(0)=='0') Mes = Mes.charAt(1);
	
		if (isNaN(Dia) || isNaN(Mes) || isNaN(Ano))
		{	
			if(!isNoErrorDiag) alert("Data " + desc + " inválida"); 
			return false;
		}
		
		Dia = parseInt(Dia);
		Mes = parseInt(Mes);
		Ano = parseInt(Ano);
	
	 	if (Dia < 1 || Dia > 31)
	 	{
	 		return false;
	 	}
	
	  	if (Mes < 1 || Mes > 12)
	  	{
	  		return false;
	  	}
	
	 	if (Mes == 2)
	 	{	if (Ano % 4 == 0)
	 		{	if (Dia > 29)
	 			{
	 				return false;
	 			}
	  		}
			else
			{	if (Dia > 28){
					return false;
				}
			}
	 	}
		else if (Mes == 4 || Mes == 6 || Mes == 9 || Mes == 11)
		{	if (Dia > 30)
			{
				return false;
			}
		}
	
		if(Ano < 1900)
		{
			return false;
		}
		return true;
	}

//----------------------------------------------------------------------------------
	function validaOrdemData(primeiraData, segundaData){
	//datas no formato dd/mm/aaaa
	//                 0123456789

		var data1 = primeiraData.split("/");
//				YYYY			 MM					DD
		data1 = data1[2] + '-' + data1[1] + '-' + data1[0]

		var data2 = segundaData.split("/");
//				YYYY			 MM					DD
		data2 = data2[2] + '-' + data2[1] + '-' + data2[0]

		return data1<data2;
	}

//------------------------------------------------------------------------------------------

	function pixVNumber(e){

   		if ( (getKeyCode(e) < 48 || getKeyCode(e) > 57) && getKeyCode(e) != 0 && getKeyCode(e) != 13) 
 		{
 			return blockKey(e);	
	 	}
	
		return true; 
   	}

//----------------------------------------------------------------------------------

   function pixLimpaString(s){
     while (s.search(" ")!=-1){
       s=s.replace(" ","");
     }
     return(s);
   }

//----------------------------------------------------------------------------------

	function pixBloqueiaPlic(e){
 		if(getKeyCode(e)==39)
		{
			return blockKey(e);
		}
		
		return true;
  	}

//----------------------------------------------------------------------------------

	function pixVMail(e){
   		if (getKeyCode(e) > 64 && getKeyCode(e) < 91 && getKeyCode(e)==39 && getKeyCode(e)!=0 && getKeyCode(e) != 13)
		{
  	  		return blockKey(e);
  		}
			else return true;
  	}

//----------------------------------------------------------------------------------

function pixVFloat(e){
 
	if ((getKeyCode(e) != 46) && (getKeyCode(e) < 48 || getKeyCode(e) > 57) && getKeyCode(e) != 13){ 
 		if (getKeyCode(e) != 13){
 	  		return blockKey(e);
  		}
			else return true;
	}
}

//----------------------------------------------------------------------------------

// PixValidaValor 1.1
// Desenvolvido Por Cparanhos xx/01/2006
// Funcao para validar os caracteres informados pelo usuario para um campo
// numerico com casas decimais.
// Ex. de utilização : onkeypress="pixVValor(this, pixObtemSelecao(), '<#sepDecimal#>', false, event);"

//------------------------------------------------------------------------------------------

function pixVValor(campo, selecionado, separadorDecimal, permiteNegativo,e){

	var ascSeparadorDecimal = pixValidaValorAsc(separadorDecimal);

	if
	(
			(getKeyCode(e) < 48 || getKeyCode(e) > 57) 
		&&	getKeyCode(e) != ascSeparadorDecimal
		&&	getKeyCode(e) != 13
		&&	getKeyCode(e) != 45
	)
	{
		return blockKey(e);
	}
	else
	{
		if (getKeyCode(e) == ascSeparadorDecimal)
		{
			var posicao = pixValidaValorVerificaOcorrencia( campo.value, separadorDecimal );
			
			if (posicao >= 0 || campo.value.length == 0 )
			{
	  	  		return blockKey(e);
	  		}
			else
			{
				return true;
			}
		}
		else{
			if (getKeyCode(e) == 45)
			{
				if(!permiteNegativo)
				{
					return blockKey(e);
		  		}
				
				var posicaoSinal = pixValidaValorVerificaOcorrencia( campo.value, '-' );
				
				if ( posicaoSinal >= 0 || campo.value.length > 0 )
				{
		 	  		return blockKey(e);
		  		}
				else
				{
					return true;
				} 
			}
		}
	}
}

//------------------------------------------------------------------------------------------
// Verifica se o caracter consta na string e retorna a sua posição ou -1 caso não encontre
function pixValidaValorVerificaOcorrencia(string, caracter){
	for(i=0; i<string.length; i++){
		if (string.charAt(i) == caracter){
			return i;
		}
	}
	return -1;
}

//------------------------------------------------------------------------------------------
// Retorna o código ASC do caracter passada por parâmetro
function pixValidaValorAsc(achar){
	var n=0;
	var ascstr = pixValidaValorMakeCharsetString();
	for(i=0;i<ascstr.length;i++){
		if(achar==ascstr.substring(i,i+1)){
			n=i;
			break;
		}
	}
	return n+32;
}

//-----------------------------------------------------------------------------------------

// Gera uma string com os caracteres básicos na sequência de códigos ASC
function pixValidaValorMakeCharsetString(){
	var astr;
	astr = ' !"#$%&\'()*+,-./0123456789:;<=>?@';
	astr+= 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
	astr+= '[\]^_`abcdefghijklmnopqrstuvwxyz';
	astr+= '{|}~';
	return astr;
}

//-----------------------------------------------------------------------------------------
// PixFormataValor 1.2
// Desenvolvido Por Cparanhos xx/01/2006
// Modificado por Rbraga 20/03/2006
// Funcao para formatacao de campos de valor numerico com casas decimais, ex: 1.000,00.
// É aconselhavel validar durante a digitação com uma rotina de validação. Ex: pixValidaValor.
// Ex. de utilização : onchange="pixFormataValor(this, 15, <#numCasasDecimais#>, '<#sepDecimal#>', '<#sepMilhar#>');"

//------------------------------------------------------------------------------------------

function pixFormataValor(campo, tammax, numCasasDecimais, separadorDecimal, separadorMilhar) {

	if (campo.value!="")
	{
		tammax = parseInt(tammax);
		numCasasDecimais = parseInt(numCasasDecimais);

		var vFormatado;

		var valorNegativo = pixFormataValorVerificaOcorrencia( campo.value, '-' );

		if ( valorNegativo >= 0 ){
			campo.value = pixFormataValorRetiraOcorrencia(campo, '-', 1);
		}

		campo.value = pixFormataValorRetiraOcorrencia(campo, separadorMilhar, 5);
		var posicaoseparadorDecimal = pixFormataValorVerificaOcorrencia( campo.value, separadorDecimal );
		var existeseparadorDecimal = 'false';

		if (posicaoseparadorDecimal >= 0){
			existeseparadorDecimal = 'true';
		}

		if (pixFormataValorTudoZero(campo, separadorDecimal)){

			vFormatado = "0" + separadorDecimal + "00";

		} else
		{

			if (! pixFormataValorValidaTamanhoCampo(campo, existeseparadorDecimal, posicaoseparadorDecimal, tammax, numCasasDecimais)){
				alert("Conteúdo maior que o limite do campo.");
				campo.value='';
				return;
			}
			if (existeseparadorDecimal == 'true'){
				if (posicaoseparadorDecimal == 0){
					vFormatado = "0" + campo.value;
					if ((vFormatado.length - 2) > numCasasDecimais){
						vFormatado = vFormatado.substr( 0, 4 );
					}
					else if ((vFormatado.length - 2) < numCasasDecimais){
						for (var i = 0; i < (numCasasDecimais - (vFormatado.length - 2)); i++){
							vFormatado = vFormatado + "0";
						}
					}
				}
				else{
					vFormatado = campo.value;
					var cDecimais = vFormatado.length - posicaoseparadorDecimal - 1;
					if (cDecimais > numCasasDecimais){
						vFormatado = vFormatado.substr( 0, (vFormatado.length - (cDecimais - numCasasDecimais)) );
					}
					else if (cDecimais < numCasasDecimais){
						for (var i = 0; i < (numCasasDecimais - cDecimais); i++){
							vFormatado = vFormatado + "0";
						}
					}
				}
			}
			else{
				vFormatado = campo.value + separadorDecimal;
				for (var i = 0; i < numCasasDecimais; i++){
					vFormatado = vFormatado + "0";
				}
			}
		}
		var tam = vFormatado.length - (numCasasDecimais + 1);
		var aux = vFormatado;

		if ( (tam > 3) && (tam < 7) ){ //insere o separador de milhar em num. de 1.000 a 999.000
			vFormatado = aux.substr(0, aux.length - (numCasasDecimais+4)) + separadorMilhar + aux.substr(aux.length - (numCasasDecimais+4), aux.length);
		}

		if ( (tam > 6) && (tam < 10) ){ //insere o separador de milhar em num. de 1.000.000,00 a 999.000.000,00
			vFormatado = aux.substr(0, aux.length - (numCasasDecimais+7)) + separadorMilhar + aux.substr(aux.length - (numCasasDecimais+7), 3) + separadorMilhar + aux.substr(aux.length - (numCasasDecimais+4), aux.length );
		}

		if ((tam > 9) && (tam < 13) ){ //insere o separador de milhar em num. de 1.000.000.000,00 a 999.000.000.000,00
			vFormatado = aux.substr(0, aux.length - (numCasasDecimais+10)) + separadorMilhar + aux.substr(aux.length - (numCasasDecimais+10), 3) + separadorMilhar + aux.substr(aux.length - (numCasasDecimais+7), 3) + separadorMilhar + aux.substr(aux.length - (numCasasDecimais+4), aux.length );
		}

		if ( valorNegativo >= 0){
			vFormatado = '-' + vFormatado;
		}

		campo.value = vFormatado;

	}
}

//-----------------------------------------------------------------------------------------

// Verifica se o caracter consta na string e retorna a sua posição ou -1 caso não encontre
function pixFormataValorVerificaOcorrencia(string, caracter){
	for(i=0; i<string.length; i++){
		if (string.charAt(i) == caracter){
			return i;
		}
	}
	return -1;
}

//------------------------------------------------------------------------------------------

function pixFormataValorRetiraOcorrencia(campo, caracter, qtd){
	var vr = campo.value;
	for (var i = 0; i < qtd; i++){
		vr = vr.replace( caracter, "" );
	}
	return vr;
}

//-----------------------------------------------------------------------------------------

function pixFormataValorTudoZero(campo, separadorDecimal){
	var valor = campo.value;
	valor = valor.replace( separadorDecimal, "" );

	for (var i = 0; i < valor.length; i++){
		if (valor.substr(i,1) != '0'){
			return false;
		}
	}
	return true;
}


//------------------------------------------------------------------------------------------

function pixFormataValorValidaTamanhoCampo(campo, existeseparadorDecimal, posicaoseparadorDecimal, tammax, numCasasDecimais){
	var valor = campo.value;
	tammax = parseInt(tammax);
	numCasasDecimais = parseInt(numCasasDecimais);

	if (existeseparadorDecimal == 'true'){
		var numCaracterAposseparadorDecimal = valor.length - (posicaoseparadorDecimal + 1);
		var numCaracterFaltando = numCasasDecimais - numCaracterAposseparadorDecimal;
		if (numCaracterFaltando > 0) {
			if ((tammax - valor.length -1) < numCaracterFaltando){
				return false;
			}
		}
	}
	else{
		if ((parseInt(valor.length) + parseInt(numCasasDecimais)) > tammax ){
			return false;
		}
	}
	return true;
}

//-----------------------------------------------------------------------------------------
function isEmpty(txt)
{
    if (txt.length == 0)
    {
        return true;
    }
    else
    {
        for (i = 0 ; i < txt.length; i++)
        {
            if (txt.charAt(i) != " ")
            {
            	return false;
            }
        }
        return true;
    }
}
//-----------------------------------------------------------------------------------------
function isEmail(email)
{
	if (isEmpty(email))
	{
		return false;
	}

	var found_at = 0;
	var found_dot = false;
	var found_char = false;
	var found_space = false;

	for (var i = 0; i < email.length; i++)
	{
		if (email.charAt(i) == "@")
		{
			found_at++;
		}
		else if (email.charAt(i) == ".")
		{
			found_dot = true;
		}
		else if (email.charAt(i) != " ")
		{
			found_char = true;
		}
		else if (email.charAt(i) == " ")
		{
			found_space = true;
		}
	}
	return ((found_at == 1) & found_dot & found_char & !found_space);
}
//-----------------------------------------------------------------------------------------

function setFocus(obj)
{
	if (obj)
	{
		obj.focus();
	}
}
//-----------------------------------------------------------------------------------------

function pixValidacaoCnpj(cnpj){

		var i;

		var c = cnpj.substr(0,12);
		var dv = cnpj.substr(12,2);
		var d1 = 0;
		
		for (i = 0; i < 12; i++)			
		{
			d1 += c.charAt(11-i)*(2+(i % 8));
		}
		
		if (d1 == 0) return false;
		
		d1 = 11 - (d1 % 11);
		
		if (d1 > 9) d1 = 0;
		
		if (dv.charAt(0) != d1)			
		{
			return false;
		}
		
		d1 *= 2;
		
		for (i = 0; i < 12; i++)
		{
			d1 += c.charAt(11-i)*(2+((i+1) % 8));
		}
		
		d1 = 11 - (d1 % 11);
		
		if (d1 > 9) d1 = 0;
		
		if (dv.charAt(1) != d1)			
		{
			return false;
		}
		return true;
}
//-----------------------------------------------------------------------------------------

function pixPosicionaCombo(Combo, Valor)
{
	var i;
    for(i=0; i<Combo.options.length; i++)
    {
    if (Combo.options[i].value == Valor)
      {
      Combo.selectedIndex = i;
      return;
      }
	}
}

//------------------------------------------------------------------------------------------

function pixPreencheComZeros(campo, tamanhoMaximo){

	if (isEmpty(campo)){
		return campo;
	}
	szCampo = "";

	for (tamanho= campo.length;tamanho<tamanhoMaximo;tamanho++){
		szCampo = szCampo + "0";
	}
	szCampo = szCampo + campo;

	return szCampo;
}

//------------------------------------------------------------------------------------------
function formataParaCalculos(valorFormatadoParaTela, separadorMilhar, separadorDecimal){
	var vr = valorFormatadoParaTela;
	var qtd=5; // formata valores com até 5 separadores de milhar.(Ex: 999.999.999.999.999.999,99)
	
	for (var i = 0; i < qtd; i++){
		vr = vr.replace( separadorMilhar, "" );
	}

	return Number(vr.replace(separadorDecimal,"."));
}
//------------------------------------------------------------------------------------------

	function montaCombo(id, matriz, noOptText, vlOpt){

		var cbo = document.getElementById(id);

		cbo.length = 0;

		cbo.options[cbo.length] = new Option(noOptText, "0");

		for(var i=0; i<matriz.length; i++)
		{
			var valor = matriz[i][0];
			var nome = matriz[i][1];

			var opt = new Option(nome, valor);

			if(valor==vlOpt)
			{
				opt.selected=true;
			}

			cbo.options[cbo.length] = opt;
		}
	}

//------------------------------------------------------------------------------------------

