//----------------------------------
// Utilitário de Funções JavaScript
//      TJERJ - GRERJ ELETRONICA
//----------------------------------

    function changeCombJuiz(obj){
		var texto = obj.value;
		if(texto=='OUTRO'){
			var obj =document.getElementById('trCpfOutro');
			obj.style.display='block'
		  	
		}
	} 
    
    function submitAction(acao) {
        with (document.forms[0]) {
            action = getAppPath() + acao + ".do";
            submit();
        }
    }
    
    function exibirMensagemPopup() {
    	var objOpaco = document.getElementById('divOpaco');
    	var end = window.location.href;
    	end = end.substr(0,end.indexOf('grerjweb') - 1) + getAppPath();    	
    	
    	if (objOpaco != undefined) {
    		submeteDiv("abrirErroPopup.do", "600px", "120px");
    	}
    	else {
    		alert('Favor configurar bloqueador de pop-up para permitir janelas deste site (' + end + ')!');
    	}
    }
    
    function showMessages(){
        var path = 'pages/alerta.jsp';
        var largura = 410;
        var altura = 210;        
        //posição left para a janela, pois no firefox o center:yes não funciona
        var posicaoLeft = ((screen.width/2) - (largura/2)); 
        var posicaoTop = ((screen.height/2) - (altura/2));        
        var features = 'dialogtop:' + posicaoTop + 'px; dialogleft: ' + posicaoLeft + 'px; dialogwidth:' + largura + 'px; dialogheight:' + altura + 'px; scroll:no; center:yes; status:no;';
        var pop = window.showModalDialog(path, '', features);
        if (pop == null) {
        	exibirMensagemPopup();
        }
        return true;        
    }
    
    function alerta(m){
	    var args = {
			opener :self,
			msg :m
		};
        var path = 'pages/alerta.jsp';
        var largura = 410;
        var altura = 210;        
        //posição left para a janela, pois no firefox o center:yes não funciona
        var posicaoLeft = ((screen.width/2) - (largura/2)); 
        var posicaoTop = ((screen.height/2) - (altura/2));        
        var features = 'dialogtop:' + posicaoTop + 'px; dialogleft: ' + posicaoLeft
			+ 'px; dialogwidth:' + largura + 'px; dialogheight:' + altura
			+ 'px; scroll:no; center:yes; status:no;';
        return window.showModalDialog(path, args, features);
    }
    
    //utilizar versão da página alerta.jsp que não recupera mensagens do servidor
    function alertaLocal(m) {
    	var args = {
    		opener :self,
    		msg :m
    	};
    	var path = 'pages/alertaLocal.jsp';
    	var largura = 410;
    	var altura = 210;
    	// posição left para a janela, pois no firefox o center:yes não funciona
    	var posicaoLeft = ((screen.width / 2) - (largura / 2));
    	var posicaoTop = ((screen.height / 2) - (altura / 2));
    	var features = 'dialogtop:' + posicaoTop + 'px; dialogleft: ' + posicaoLeft
    			+ 'px; dialogwidth:' + largura + 'px; dialogheight:' + altura
    			+ 'px; scroll:no; center:yes; status:no;';
    	return window.showModalDialog(path, args, features);
    }    
    
    function confirma(m) {
        var args = {opener: self, msg: m};
        var path = 'pages/confirma.jsp';
        var largura = 410;
        var altura = 210;
        //posição left para a janela, pois no firefox o center:yes não funciona
        var posicaoLeft = ((screen.width/2) - (largura/2)); 
        var posicaoTop = ((screen.height/2) - (altura/2));
        var features = 'dialogtop:' + posicaoTop + 'px; dialogleft: ' + posicaoLeft + 'px; dialogwidth:' + largura + 'px; dialogheight:' + altura + 'px; scroll:no; center:yes; status:no;';
        return window.showModalDialog(path, args, features);
    }
    
    function onLoadMsg() {
        with (document.forms[0]) {
            if (hMsg.value != empty()) {
                showMessages();
            }
        }
    }
    
    function validaCpfCnpj( campoCpf) {
    	var obj;
    	
    	if(campoCpf == undefined){
    	obj = document.forms[0].cpfCnpjRecolhedor;
    	}else{
    		obj = campoCpf;
    	}
    	
     
            var cpfCnpj  = obj.value.replace(".", empty()).replace(".", empty()).replace("-", empty()).replace("/", empty());
            if (cpfCnpj.length != 14 && cpfCnpj.length != 11) { 	
                return false;
            } else {
                if (cpfCnpj.length > 11) {
                    var base = cpfCnpj.substring(0, cpfCnpj.length-2);
                    if (isCnpj(cpfCnpj) == false) {
                        return false;
                    }
                } else {
                    var base = cpfCnpj.substring(0, cpfCnpj.length-2);
                    if (isCpf(cpfCnpj) == false) {
                        return false;
                    }
                }
            
            obj.value = formatCpfCnpj(cpfCnpj, true, isCnpj(cpfCnpj));
        }
        return true;
    }
    
    function validaCpf(cpf) {
        if (!validaNumerosRepetidos(cpf)) {
            return false;   
        }
        w = tiraedt(cpf,11); 
        if (w.length < 11) { 
            return false;
        }   
        var dvcpf = w.substring(0, 9);    
        var s1 = 0;
        for (i = 0; i < 9; i++) { 
            s1 = s1 + (dvcpf.substring(i, i + 1) * (10 - i));
        }
        r1 = s1 % 11;
        if (r1 < 2) {
            dv1 = 0;
        } else { 
            dv1 = 11 - r1;
        }
        var s2 = dv1 * 2; 
        for (i = 0; i < 9 ; i++) { 
            s2 = s2 + (dvcpf.substring(i, i + 1) * (11 - i)); 
        }
        r2 = s2 % 11;
        if (r2 < 2) {
            dv2 = 0;
        } else {
            dv2 = 11 - r2;
        }
        var DV = "" + dv1 + dv2;
        var oldDV = w.substring(9, 11);
        return (oldDV == DV);
    }
    
    function validaNumerosRepetidos(cpf) {
        for (var i = 0; i < cpf.length -1; i++)  {
            if (cpf.charAt(i) != cpf.charAt(i + 1)) {
                return true;
            }
        }
        return false;
    }
    
    function tiraedt(Numcomedt, Tam) {
        var numsed = '' ;
        for (i=0; i<Numcomedt.length; i++) {
            ch = Numcomedt.charAt(i);
            if (ch < '0' || ch > '9') {
                continue;
            } 
            numsed = numsed + ch;
        }
        if (Tam != 0) {
            for (i = numsed.length; i < Tam; i++) {
                numsed = '0' + numsed;
            }
            if (numsed.length > Tam) { 
                numsed = numsed.substring(0, Tam);
            }
        }
        return numsed;
    }
    
    // somente numeros
    function onlyNumbers(e) {
    	var whichCode = (window.Event) ? e.which : e.keyCode;
    	//verificar se o código da tecla obtido é zero(0), o atributo keyCode existe e se é maior que zero(0).  
    	if (whichCode == '0' && e.keyCode && e.keyCode > 0) {
    		whichCode = e.keyCode;
    	}     	
        if (whichCode < 48 || whichCode > 57) {
        	var especiais = [8,9,33,34,35,36,37,38,39,40,45,46];//teclas especiais permitidas
        	var invalidos = "\"'!@#$%¨&*()_-+=§ªº°/?+*/,¹²³£¢¬<>";
        	var ret = false;
        	//verificar se a tecla pressionada é uma das especiais
        	for (var i = 0; i < especiais.length; i++) {
        		if (whichCode == especiais[i]) {
        			ret = true;
        			break;
        		}
        	}

        }
    }
    
    // somente numeros
    function onlyNumbersEbarra(e) {
    	var whichCode = (window.Event) ? e.which : e.keyCode;
    	//verificar se o código da tecla obtido é zero(0), o atributo keyCode existe e se é maior que zero(0).  
    	if (whichCode == '0' && e.keyCode && e.keyCode > 0) {
    		whichCode = e.keyCode;
    	}     	
        if (whichCode < 48 || whichCode > 57) {
        	var especiais = [8,9,33,34,35,36,37,38,39,40,45,46];//teclas especiais permitidas
        	var invalidos = "\"'!@#$%¨&*()_+=§ªº°/?+*/,¹²³£¢¬<>";
        	var ret = false;
        	//verificar se a tecla pressionada é uma das especiais
        	for (var i = 0; i < especiais.length; i++) {
        		if (whichCode == especiais[i]) {
        			ret = true;
        			break;
        		}
        	}

        }
    }
    
    
    
    
    

function showMessages() {
	var path = 'pages/alerta.jsp';
	var largura = 410;
	var altura = 210;
	// posição left para a janela, pois no firefox o center:yes não funciona
	var posicaoLeft = ((screen.width / 2) - (largura / 2));
	var posicaoTop = ((screen.height / 2) - (altura / 2));
	var features = 'dialogtop:' + posicaoTop + 'px; dialogleft: ' + posicaoLeft
			+ 'px; dialogwidth:' + largura + 'px; dialogheight:' + altura
			+ 'px; scroll:no; center:yes; status:no;';
	return window.showModalDialog(path, '', features);
}

function alerta(m) {
	var args = {
		opener :self,
		msg :m
	};
	var path = 'pages/alerta.jsp';
	var largura = 410;
	var altura = 210;
	// posição left para a janela, pois no firefox o center:yes não funciona
	var posicaoLeft = ((screen.width / 2) - (largura / 2));
	var posicaoTop = ((screen.height / 2) - (altura / 2));
	var features = 'dialogtop:' + posicaoTop + 'px; dialogleft: ' + posicaoLeft
			+ 'px; dialogwidth:' + largura + 'px; dialogheight:' + altura
			+ 'px; scroll:no; center:yes; status:no;';
	return window.showModalDialog(path, args, features);
}

function confirma(m) {
	var args = {
		opener :self,
		msg :m
	};
	var path = 'pages/confirma.jsp';
	var largura = 410;
	var altura = 210;
	// posição left para a janela, pois no firefox o center:yes não funciona
	var posicaoLeft = ((screen.width / 2) - (largura / 2));
	var posicaoTop = ((screen.height / 2) - (altura / 2));
	var features = 'dialogtop:' + posicaoTop + 'px; dialogleft: ' + posicaoLeft
			+ 'px; dialogwidth:' + largura + 'px; dialogheight:' + altura
			+ 'px; scroll:no; center:yes; status:no;';
	return window.showModalDialog(path, args, features);
}

function confirmaSimNao(m) {
	var args = {
		opener :self,
		msg :m
	};
	var path = 'pages/confirma2.jsp';
	var largura = 410;
	var altura = 210;
	//posição left para a janela, pois no firefox o center:yes não funciona
	var posicaoLeft = ((screen.width / 2) - (largura / 2));
	var posicaoTop = ((screen.height / 2) - (altura / 2));
	var features = 'dialogtop:' + posicaoTop + 'px; dialogleft: ' + posicaoLeft
			+ 'px; dialogwidth:' + largura + 'px; dialogheight:' + altura
			+ 'px; scroll:no; center:yes; status:no;';
	return window.showModalDialog(path, args, features);
	
	
	//pop = document.getElementById("popSimNao");
	//pop.click();
}

function onLoadMsg() {
	with (document.forms[0]) {
		if (hMsg.value != empty()) {
			showMessages();
		}
	}
}

function validaCpfCnpj(campoCpf) {
	var obj;

	if (campoCpf == undefined) {
		obj = document.forms[0].cpfCnpjRecolhedor;
	} else {
		obj = campoCpf;
	}

	var cpfCnpj = obj.value.replace(".", empty()).replace(".", empty())
			.replace("-", empty()).replace("/", empty());
	if (cpfCnpj.length != 14 && cpfCnpj.length != 11) {
		return false;
	} else {
		if (cpfCnpj.length > 11) {
			var base = cpfCnpj.substring(0, cpfCnpj.length - 2);
			if (isCnpj(cpfCnpj) == false) {
				return false;
			}
		} else {
			var base = cpfCnpj.substring(0, cpfCnpj.length - 2);
			if (isCpf(cpfCnpj) == false) {
				return false;
			}
		}

		obj.value = formatCpfCnpj(cpfCnpj, true, isCnpj(cpfCnpj));
	}
	return true;
}

function validaCpf(cpf) {
	if (!validaNumerosRepetidos(cpf)) {
		return false;
	}
	w = tiraedt(cpf, 11);
	if (w.length < 11) {
		return false;
	}
	var dvcpf = w.substring(0, 9);
	var s1 = 0;
	for (i = 0; i < 9; i++) {
		s1 = s1 + (dvcpf.substring(i, i + 1) * (10 - i));
	}
	r1 = s1 % 11;
	if (r1 < 2) {
		dv1 = 0;
	} else {
		dv1 = 11 - r1;
	}
	var s2 = dv1 * 2;
	for (i = 0; i < 9; i++) {
		s2 = s2 + (dvcpf.substring(i, i + 1) * (11 - i));
	}
	r2 = s2 % 11;
	if (r2 < 2) {
		dv2 = 0;
	} else {
		dv2 = 11 - r2;
	}
	var DV = "" + dv1 + dv2;
	var oldDV = w.substring(9, 11);
	return (oldDV == DV);
}

function validaNumerosRepetidos(cpf) {
	for ( var i = 0; i < cpf.length - 1; i++) {
		if (cpf.charAt(i) != cpf.charAt(i + 1)) {
			return true;
		}
	}
	return false;
}

function tiraedt(Numcomedt, Tam) {
	var numsed = '';
	for (i = 0; i < Numcomedt.length; i++) {
		ch = Numcomedt.charAt(i);
		if (ch < '0' || ch > '9') {
			continue;
		}
		numsed = numsed + ch;
	}
	if (Tam != 0) {
		for (i = numsed.length; i < Tam; i++) {
			numsed = '0' + numsed;
		}
		if (numsed.length > Tam) {
			numsed = numsed.substring(0, Tam);
		}
	}
	return numsed;
}

// somente numeros
// somente numeros
function onlyNumbers(e, obj) {
	var whichCode = (window.Event) ? e.which : e.keyCode;

	// verificar se o código da tecla obtido é zero(0), o atributo keyCode
	// existe e se é maior que zero(0).
	if (whichCode == '0' && e.keyCode && e.keyCode > 0) {
		whichCode = e.keyCode;
	}

	if (whichCode < 48 || whichCode > 57) {
		var especiais = [ 8, 9, 33, 34, 35, 36, 37, 38, 39, 40, 45, 46 ];// teclas
		// especiais
		// permitidas
		var invalidos = "\"'!@#$%¨&*()_-+=§ªº°/?+*/,¹²³£¢¬<>";
		var ret = false;
		// verificar se a tecla pressionada é uma das especiais
		for ( var i = 0; i < especiais.length; i++) {
			if (whichCode == especiais[i]) {
				ret = true;
				break;
			}
		}

		// verificar se o valor informado é numérico, caso o retorno seja true e
		// não seja uma tecla especial
		if (ret) {
			if (invalidos.indexOf(String.fromCharCode(whichCode)) >= 0) {
				ret = false;
			}
		}
		if (ret && obj != undefined && String.fromCharCode(whichCode) == '.') {
			// var texto = obj.value;
			// if( texto.invalidos.indexOf(".") >= 0)
			ret = false;

		}

		if (!ret) {
			if (e && e.preventDefault) {
				e.preventDefault(); // cancelar evento no estilo DOM
			} else if (e) {
				e.returnValue = false; // cancelar o evento no IE
			}
		}
		return ret; // cancelar caso esteja utilizando return na chamada do
		// evento
	}
}

// Aceita letras (mai. e min.)
function onlyChar(e) {
	var whichCode = (window.Event) ? e.which : e.keyCode;
	// verificar se o código da tecla obtido é zero(0), o atributo keyCode
	// existe e se é maior que zero(0).
	if (whichCode == '0' && e.keyCode && e.keyCode > 0) {
		whichCode = e.keyCode;
	}
	if (whichCode < 65 || whichCode > 90) {
		if (whichCode < 97 || whichCode > 122) {
			if (whichCode != 32 && whichCode < 192) {
				var especiais = [ 8, 9, 33, 34, 35, 36, 37, 38, 39, 40, 45, 46 ];// teclas
				// especiais
				// permitidas
				var ret = false;
				// verificar se a tecla pressionada é uma das especiais
				for ( var i = 0; i < especiais.length; i++) {
					if (whichCode == especiais[i]) {
						ret = true;
						break;
					}
				}
				if (!ret) {
					if (e && e.preventDefault) {
						e.preventDefault(); // cancelar evento no estilo DOM
					} else if (e) {
						e.returnValue = false; // cancelar o evento no IE
					}
				}
				return ret; // cancelar caso esteja utilizando return na chamada
				// do evento
			}
		}
	}
}

// Retorna o path da aplicação no formato /path/
function getAppPath() {
	var acao = document.forms[0].action;

	var ini = acao.substring(0, 1); // armazenar o primeiro caracter da action

	// verificar se o primeiro caracter do endereço é /
	if (ini != '/') {
		// caso não seja barra simples, calcular a posição após a primeira
		// ocorrência de barras duplas.
		var posiDuplo = acao.indexOf('//') + 2;
		acao = acao.substring(posiDuplo);
		// verificar a próxima ocorrência de barra simples
		var posiBarra = acao.indexOf('/');
		acao = acao.substring(posiBarra);
	}

	acao = acao.substring(1);// armazenar o restante do endereço após a barra
	// simples
	acao = acao.split("/"); // transformar a string em array
	// recuperar a primeira ocorrência, que neste caso é o contexto da aplicação
	return "/" + acao[0] + "/";
}

// retorna o valor da radio selecionada
function checkedRadioValue(radio) {
	var valor = "";
	if (typeof (radio.length) == "undefined") {
		if (radio.checked) {
			valor = radio.value;
		}
	} else {
		for (i = 0; i < radio.length; i++) {
			if (radio[i].checked) {
				valor = radio[i].value;
				break;
			}
		}
	}
	return valor;
}

function isZeroOrNaN(v) {
	v=v.replace(",",".");
	if (isNaN(parseFloat(v)) || (parseFloat(v).toFixed(2) == 0.00)) {
		return true;
	}
	return false;
}

function currencyFormat(fld, decSep, e, tam) {
	var sep = 0;
	var key = '';
	var i = j = 0;
	var len = len2 = 0;
	var strCheck = '0123456789';
	var invalidos = "\"'!@#$%¨&*()_-+=§ªº°/?+*/¹²³£¢¬<>";
	var aux = aux2 = '';
	var tem = 0;
	var ret = true;
	// var whichCode = e.keyCode;
	var char_code = e.charCode;
	var whichCode = (window.Event) ? e.which : e.keyCode;
	// verificar se o código da tecla obtido é zero(0), o atributo keyCode
	// existe e se é maior que zero(0).
	if (whichCode == '0' && e.keyCode && e.keyCode > 0) {
		whichCode = e.keyCode;
	}
	 if (whichCode == 13 || whichCode == 9 || whichCode == 8) return true; 
	// Enter, TAB ou BackSpace
	// var especiais = [ 8, 9, 13, 33, 34, 35, 36, 37, 38, 39, 40, 45, 46 ];//
	// teclas
	// especiais
	// permitidas

	if (invalidos.indexOf(String.fromCharCode(whichCode)) >= 0) {
		ret = false;
	}
	//fld.value = fld.value.replace(/\,/, ".");
	// se existir o ponto ele continua formatar com '.' ou ','
	if (fld.value.indexOf('.') >= 0)
		decSep = '.';
	else if (fld.value.indexOf(',') >= 0)
		decSep = ',';
		
	

	// verifica se existe o caracter '.'
	if (fld != undefined && char_code != 0 && (String.fromCharCode(whichCode) == '.' || String.fromCharCode(whichCode) == ',')) {
		var texto = fld.value;
		if (texto.indexOf('.') >= 0 || texto.indexOf(',') >= 0)
			ret = false;
	}
	if (fld != undefined && char_code == 0
			&& String.fromCharCode(whichCode) == '.')
		whichCode = 127;

	if (ret && (whichCode != 127 && whichCode != 44)) {
		key = String.fromCharCode(whichCode); // Get key value from key code

		len = fld.value.length;
		for (i = 0; i < len; i++)
			if ((fld.value.charAt(i) != '0') && (fld.value.charAt(i) != decSep))
				break;
		aux = '';
		for (; i < len; i++)
			if (strCheck.indexOf(fld.value.charAt(i)) != -1)
				aux += fld.value.charAt(i);
		aux += key;
		len = aux.length;
		if (len > tam)
			ret = false;
		if (len == 0)
			fld.value = '';
		if (len == 1)
			fld.value = '0' + decSep + '0' + aux;
		if (len == 2)
			fld.value = '0' + decSep + aux;
		if (len > 2) {
			aux2 = '';
			for (j = 0, i = len - 3; i >= 0; i--) {
				if (j == 3) {
					j = 0;
				}
				aux2 += aux.charAt(i);
				j++;
			}
			fld.value = '';
			len2 = aux2.length;
			for (i = len2 - 1; i >= 0; i--)
				fld.value += aux2.charAt(i);

			fld.value += decSep + aux.substr(len - 2, len);
		}
		ret = false;
	}

	var especiais = [ 8, 9, 37, 38, 39, 40 ];// teclas
	// verificar se a tecla pressionada é uma das especiais
	for ( var i = 0; i < especiais.length; i++) {
		if (whichCode == especiais[i]) {
			ret = true;
		}
	}
	if (!ret) {
		if (e && e.preventDefault) {

			e.preventDefault(); // cancelar evento no estilo DOM
		} else if (e) {
			e.returnValue = false; // cancelar o evento no IE
		}
	}

	return ret;
}

function zero() {
	return "0.00";
}

function empty() {
	return "";
}

function isAvaliador(r) {
	var receita = r.replace(/-/g, empty());
	if (parseInt(receita) != 0) {
		return false;
	}
	return true;
}

function isDistribuidor(r) {
	if (r == document.forms[0].hContaDistribuidor.value) {
		return true;
	}
	return false;
}

function isAtoCitacao(id) {
	if (id == document.forms[0].hIdAtoCitacao.value) {
		return true;
	}
	return false;
}

function isOficialJustica(id) {
	if (id == document.forms[0].hIdOficialJustica.value) {
		return true;
	}
	return false;
}

function isPorteRemessa(id) {
	if (id == document.forms[0].hIdPorteRemessa.value) {
		return true;
	}
	return false;
}

function hasHelp(id) {
	if (isAtoCitacao(id) || isOficialJustica(id) || isPorteRemessa(id)) {
		return true;
	}
	return false;
}

function mascaraCPF(objValorCPF) {
	objValorCPF.value = objValorCPF.value.replace(/\D/g, "");
	objValorCPF.value = objValorCPF.value.replace(/(\d{3})(\d)/, "$1.$2");
	objValorCPF.value = objValorCPF.value.replace(/(\d{3})(\d)/, "$1.$2");
	objValorCPF.value = objValorCPF.value.replace(/(\d{3})(\d{1,2})$/, "$1-$2");
}

function mascaraNumeroProcesso(tipoCombo, objNumeroProcesso, e) {
	// ####.###.######-# (1ª instancia)
	// ####.###.##### (2ª instancia)
	var tam1aInstancia = "17";
	var tam2aInstancia = "14";
	var tam = objNumeroProcesso.value.length;
	if (tipoCombo == 0) {
		return;
	}
	if (tam == 4 || tam == 8) {
		if (e.keyCode != 8 && e.keyCode != 46) {
			objNumeroProcesso.value = objNumeroProcesso.value + ".";
		}
	}
	if (tipoCombo == 2) {
		objNumeroProcesso.maxLength = tam2aInstancia;
	} else {
		objNumeroProcesso.maxLength = tam1aInstancia;
		if (tam == 15) {
			if (e.keyCode != 8 && e.keyCode != 46) {
				objNumeroProcesso.value = objNumeroProcesso.value + "-";
			}
		}
	}
}

function mascaraConta(obj) {
	obj.value = obj.value.replace(/\D/g, empty());
	obj.value = obj.value.replace(/(\d{4})(\d)/, "$1-$2");
	obj.value = obj.value.replace(/(\d{5})(\d)/, "$1-$2");
}

function mascaraNumeroGrerj(obj) {
	obj.value = obj.value.replace(/\D/g, empty());
	obj.value = obj.value.replace(/(\d{11})(\d)/, "$1-$2");
}

function sair() {
	window.open("about:blank", "_self", "");
	window.opener = window;
	window.close();
}

function redirectErrorJanelaPrincipal(){
	if(  window.parent.location !=window.location){
   window.parent.parent.location= getAppPath()+'/index.do';
          
	}
  }
function iniciar() {
	redirectErrorJanelaPrincipal();
	submitAction("index");
}

function validarRecolhimento(codContaReceita, valorReceita, tipoReceita) {
	var nomeReceita = ''; 
	if (typeof (codContaReceita.length) == "undefined") {
		if (codContaReceita.value == null || codContaReceita.value == empty()) {
			alerta("Receita/Conta não informada!");
			return false;
		}
		if (valorReceita.value == null || converteFloat(valorReceita.value) <= 0) {
			alerta("Valor não informado!");
			return false;
		}
	} else {
		for (i = 0; i < codContaReceita.length; i++) {
			if (codContaReceita[i].value == null
					|| codContaReceita[i].value == empty()) {
				if(null != tipoReceita && "undefined" != tipoReceita)
					alerta("'" + tipoReceita[i].value + "': Receita/Conta não informada!");
				else
					alerta("Receita/Conta não informada!");
				return false;
			}
			if (valorReceita[i].value == null
					|| converteFloat(valorReceita[i].value) <= 0.00) {
				if (tipoReceita != undefined) {
					nomeReceita = "'" + tipoReceita[i].value + "': ";
				}
				alerta(nomeReceita + "Valor não informado!");
				return false;
			}
		}
	}
	return true;
}

//Converter o texto para float.
function converteFloat(valor) {
	return parseFloat(converteVirgulaPonto(valor));
}

//Converter o texto com valor separado por vírgula para ponto.
function converteVirgulaPonto(valor) {
	return (valor.replace(',','.'));	
}

function submitIFrame(frm, pAction) {
	//verificar se existe o divOpaco na página
	var objOpaco = document.getElementById('divOpaco');
	
	//se não existir o divOpaco, utilizar o greyBox para exibir a impressão
	if (objOpaco == undefined) {
		var l = document.getElementById('linkModal');
		l.onclick();
	}
	else {
		//caso contrário exibir o iframe da impressão no divOpaco
		var bt = document.createElement('span'); //criar o botão para fechar a div
		bt.className='btFecharDiv';
		bt.onclick = 
				function() { 
					fechaDiv();
					window.location = getAppPath() + '/index.do';
				};
	    
		var img = document.createElement('img'); //adicionar uma imagem antes do texto
		img.id = 'imgFecharOpaco';		
		img.src = getAppPath() + '/js/greybox/w_close.gif';
		bt.appendChild(img);
		
		var t = document.createTextNode('Fechar'); //texto a ser exibido no span
		bt.appendChild(t);		
	    
		var divBt = document.createElement('div'); //criar um div para controlar o posicionamento do botão
		divBt.id = 'divOpacoBotao';
		divBt.appendChild(bt);
		
		var divC = document.getElementById('divCenter');
		var ifr = document.getElementById('iFrameDiv');
		divC.insertBefore(divBt,ifr); //inserir o div com o botão no divCenter antes do iframe		
		
		//substituir o endereço raiz para evitar duplicação quando submeter o formulário
		submeteDiv(pAction.replace(getAppPath(),''), 900, 370, true);		
	}
}


//Criar as DIV's para a impressão utilizando o divOpaco
function criarDivImpressao() {
	var obj = document.getElementById('divPesqCartorio');
	if (obj == undefined) {
		//tentar criar no IE
		try {
			
			var divP = document.createElement("<div id='divPesqCartorio'>");
			var divO = document.createElement("<div id='divOpaco' style='display:none'>");
			var divC = document.createElement("<div id='divCenter' style='display:none;width:90%;height:530px'>");
			var ifr = document.createElement("<iframe name='iFrameDiv' id='iFrameDiv' src='about:blank' style='border:0px;' frameBorder=0>");
			divC.appendChild(ifr); //incluir o iframe no divCenter
			divP.appendChild(divO); //incluir o divOpaco no divPrincipal
			divP.appendChild(divC); //incluir o divCenter no divPrincipal
			document.body.appendChild(divP); //incluir o divPrincipal na página					
		}
		catch (ex) {
			var divP = document.createElement("div"); //div principal
			divP.id = 'divPesqCartorio';
		
			var divO = document.createElement("div"); //div opaco
			divO.id = 'divOpaco';
			divO.style.display = 'none';
		
			var divC = document.createElement("div"); //div center
			divC.id = 'divCenter';
			divC.style.display = 'none';
			divC.style.width = '90%';
			divC.style.height = '530px';
		
			var ifr = document.createElement("iframe"); //iframe
			ifr.id = 'iFrameDiv';
			ifr.name = 'iFrameDiv';
			ifr.src = 'about:blank';
			//ifr.style.width = '90%';
			//ifr.style.height = '90%';
			ifr.style.border = '0px';
			ifr.frameBorder = 0;
		
			divC.appendChild(ifr); //incluir o iframe no divCenter
			divP.appendChild(divO); //incluir o divOpaco no divPrincipal
			divP.appendChild(divC); //incluir o divCenter no divPrincipal
		
			document.body.appendChild(divP); //incluir o divPrincipal na página			
		}
		
		alert('Criou elementos!');
	}
}

function redirecionarIndexTimeout() {
	var frm = document.forms[0];
	//redirecionar para a página principal
	frm.target = "_self";
	frm.action = getAppPath() + "/index.do";
	frm.submit();
}

function imprimirOnClick() {
	// verificar se o botão de impressão está habilitado
	var btImp = document.getElementById('impressao');// procurar pelo ID
	
	if (btImp == undefined) {
		// se não encontrar, procurar pelo nome no formulário
		btImp = document.forms[0].impressao;
	}
	// se encontrou o botão e o mesmo está desabilitado, sair da função.
	if (btImp != undefined && btImp.disabled == true)
		return;
	btImp.disabled = true;

	//if (confirma("Sua impressora está ligada?")) {
		
		if (document.forms[0].pagtoOnline.value == "S") {
			submitAjax();
		} else {
			btImp.disabled = false;
			var bt =document.getElementById("impressao");
			if(bt!=undefined)
			document.getElementById("impressao").disabled = true;
			
			var bt2 =document.getElementById("pagamentoOnline");	
			if(bt2!=undefined)
			document.getElementById("pagamentoOnline").disabled = true;
			submitIFrame(document.forms[0], "imprimir.do");
			//setTimeout("executaTimeOut()", 60000);
			//submitIFrame(document.forms[0], getAppPath() + "imprimir.do");
		}
	//}else{
	//	btImp.disabled = false;
	//}
}

function executaTimeOut() {
	alerta("Tempo limite de impressão atingido. Não foi possível imprimir a guia.");
	with (document.forms[0]) {
		action = getAppPath() + "index.do";
		target = "_self";
		submit();
	}
}

function maxLenght(obj, tam) {
	obj.value = obj.value.substr(0, tam);
}

function pagamentoOnlineClick() {
	document.forms[0].pagtoOnline.value = "S";
	document.getElementById("pagamentoOnline").disabled = true;
	openWindow(top, getAppPath() + "pagamentoOnlineAbrir.do", "lovWindow", {
		width :800,
		height :600,
		top :0,
		left :0
	}, true, "dialog");
}

function pesquisarOrgao(tipo) {
	with (document.forms[0]) {
		if (tipo != "" && tipo != null) {
			if (idOrgao.value == empty()) {
				nomeOrgao.value = empty();
				nomeComarca.value = empty();
				idComarca.value = empty();
				cpfCnpjRecolhedor.value = empty();
				return false;
			}
			action = getAppPath() + "pesqCartorio" + tipo + ".do";
			submit();
		} else {
			submeteDiv("abrirDivCartorio.do", 760, 370);
		}
	}
}

function mascaraData(data, e) {
	var evento;
	if (window.event) {
		evento = window.event;
	} else if (e != undefined) {
		evento = e;
	}
	if (evento != undefined) {
		return formataCampo(data, '00/00/0000', evento);
	} else {
		return;
	}
}

// formata de forma generica os campos
function formataCampo(campo, Mascara, evento) {
	var boleanoMascara;
	var Digitato = evento.keyCode;
	exp = /\-|\.|\/|\(|\)| /g
	campoSoNumeros = campo.value.toString().replace(exp, "");
	var posicaoCampo = 0;
	var NovoValorCampo = "";
	var TamanhoMascara = campoSoNumeros.length;
	;
	if (Digitato != 8 && Digitato != 46) { // backspace e delete
		for (i = 0; i <= TamanhoMascara; i++) {
			boleanoMascara = ((Mascara.charAt(i) == "-")
					|| (Mascara.charAt(i) == ".") || (Mascara.charAt(i) == "/"))
			boleanoMascara = boleanoMascara
					|| ((Mascara.charAt(i) == "(")
							|| (Mascara.charAt(i) == ")") || (Mascara.charAt(i) == " "))
			if (boleanoMascara) {
				NovoValorCampo += Mascara.charAt(i);
				TamanhoMascara++;
			} else {
				NovoValorCampo += campoSoNumeros.charAt(posicaoCampo);
				posicaoCampo++;
			}
		}
		campo.value = NovoValorCampo;
		return true;
	} else {
		return true;
	}
}

/**
 * Validar os campos de fundperj/funperj.
 * 
 * @param objFundperj
 * @param objFunperj
 * @param vFundperjCalc
 * @param vFunperjCalc
 * @param objFundperjDentro -
 *            campo opcional.
 * @param objFunperjDentro -
 *            campo opcional.
 * @param vFundperjCalcDentro -
 *            campo opcional.
 * @param vFunperjCalcDentro -
 *            campo opcional.
 * @param objFundperjFora -
 *            campo opcional.
 * @param objFunperjFora -
 *            campo opcional.
 * @param vFundperjCalcFora -
 *            campo opcional.
 * @param vFunperjCalcFora -
 *            campo opcional.
 * @return boolean
 */
function validarFundperjFunperj(objFundperj, objFunperj, vFundperjCalc,
		vFunperjCalc, objFundperjDentro, objFunperjDentro, vFundperjCalcDentro,
		vFunperjCalcDentro, objFundperjFora, objFunperjFora, vFundperjCalcFora,
		vFunperjCalcFora) {
	// verificar FUNDPERJ
	objFundperj.value =	objFundperj.value.replace(",",".");
	vFundperjCalc =	vFundperjCalc.replace(",",".");
	
		
	if (isZeroOrNaN(objFundperj.value)) {
		if (!confirma("Não foi informado o valor do FUNDPERJ, deseja prosseguir?")) {
			objFundperj.focus();
			return false;
		}
	} else if (objFundperj.value != vFundperjCalc) {
		if (!confirma("O valor informado para o FUNDPERJ não confere com o valor calculado pelo sistema, deseja prosseguir?")) {
			objFundperj.value = vFundperjCalc;
			// verificar se os campos adicionais foram informados
			if (objFundperjDentro != undefined
					&& objFundperjDentro.value != vFundperjCalcDentro) {
				objFundperjDentro.value = vFundperjCalcDentro;
			}
			if (objFundperjFora != undefined
					&& objFundperjFora.value != vFundperjCalcFora) {
				objFundperjFora.value = vFundperjCalcFora;
			}
			objFundperj.focus();
			return false;
		}
	}
	// verificar FUNPERJ
	if (isZeroOrNaN(objFunperj.value)) {
		if (!confirma("Não foi informado o valor do FUNPERJ, deseja prosseguir?")) {
			objFunperj.focus();
			return false;
		}
	} else if (objFunperj.value != vFunperjCalc) {
		if (!confirma("O valor informado para o FUNPERJ não confere com o valor calculado pelo sistema, deseja prosseguir?")) {
			objFunperj.value = vFunperjCalc;
			// verificar se os campos adicionais foram informados
			if (objFunperjDentro != undefined
					&& objFunperjDentro.value != vFunperjCalcDentro) {
				objFunperjDentro.value = vFunperjCalcDentro;
			}
			if (objFunperjFora != undefined
					&& objFunperjFora.value != vFunperjCalcFora) {
				objFunperjFora.value = vFunperjCalcFora;
			}
			objFunperj.focus();
			return false;
		}
	}
	return true;
}

// Desabilitar o botão confirmar na página
function desabilitarConfirmar() {

	var obj = document.forms[0].confirmar;
	if (obj != undefined) {
		// obj.value = 'Calculando...';
		obj.disabled = true;
	}
}

// adicionar um evento ao onLoad da página por javascript
function addLoadEvent(func) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
	} else {
		window.onload = function() {
			if (oldonload) {
				oldonload();
			}
			func();
		}
	}
}

/*
 * Verificar se o botão de impressão existe na página, para exibir o ícone de
 * impressão.
 */
function verificarBtImpressao() {
	var btImp = document.getElementById('impressao');// procurar pelo ID
	if (btImp == undefined) {
		// se não encontrar, procurar pelo nome no formulário
		btImp = document.forms[0].impressao;
	}
	if (btImp != undefined) {
		var link = document.getElementById('linkPrint');
		if (link != undefined) {
			link.style.display = 'inline-block';
			link.onclick = btImp.onclick;
		}
	}
}

function validarFloat(obj) {

	var cont_ponto = 0;
	var index = -1;
	var texto = obj.value;
	if (obj != undefined) {
		var myRe2 = /\D/;
		// var texto = myRe2.match(obj.value);
		// while (myRe2.test(myRe2)) {
		// var texto = undefined;

		do {
			var busca = texto.match(myRe2);
			index = texto.indexOf(busca);

			if (busca != null && (busca == '.' || busca == ',')) {
				cont_ponto++;
			} else if (busca != null && (busca != '.' || busca == ',')) {
				obj.value = '0.00';
				busca = null;
			}
			texto = texto.substring(index + 1);
			if (cont_ponto > 1) {
				obj.value = '0.00';
				busca = null;
			}

		} while (busca != null)

		// }
		// alert(texto);
	}

}

function formatProcessoDesarq(campo) {
	var numero = unformatNumber(campo.value, true, true);
	var rExp;
	var tam = numero.length; 
	if (tam <= 16) {
    		if (tam == 14) {
    			rExp = /(\d{4})(\d{3})(\d{6})(\d{1})$/;
                numero = numero.replace(rExp, "$1.$2.$3-$4");
    		}
    		else if (tam == 15) {
    			rExp = /(\d{4})(\d{3})(\d{6})(\d{1})(\w{1})$/;
                numero = numero.replace(rExp, "$1.$2.$3-$4$5");
    		}
    		else {
    			rExp = /(\d{4})(\d{3})(\d{6})(\d{1})(\w{2})$/;
                numero = numero.replace(rExp, "$1.$2.$3-$4$5");
    		}
	} else if (tam == 20) {
			rExp  = /(\d{7})(\d{2})(\d{4})(\d{1})(\d{2})(\d{4})$/;
            numero = numero.replace(rExp, "$1-$2.$3.$4.$5.$6");
	}
	campo.value = numero;
	return (campo.value.indexOf('.') >= 0);
}

//funcao que simula o Trim do Java
//retira os espacos das extremidades do texto
function trim(str){
	str=str.replace(/\s+/g," ");
	str=str.replace(/^ /,"");
	str=str.replace(/ $/,"");
	return str;
}

//campo = objeto input com o conteúdo a ser verificado
function isNumProcessoValido(campo) {
	return formatProcessoDesarq(campo);
}

//campo = objeto input com o conteúdo a ser verificado
function isNumProcessoCNJ(campo) {
	var ret = isNumProcessoValido(campo);
	if (ret == true) {
		return (campo.value.length == 25); //25 = o tamanho total do nº CNJ formatado
	}
	else {
		return false;
	}
}