function dwnld(destino,codprog,tipo) {
	var txt=unescape(destino.replace(/\+/g, " "))
	// var array_texto=destino.split("");
 	var array_texto=txt.split("");
 	var url="";
 	for (x in array_texto) {
 		url+=array_texto[array_texto.length-1 - x];
 	}
 	if(url.search('sourceforge.')>0) { tipo=1; }
	//window.alert(destino.search('sourceforge.'));
	if (tipo == 0) {
		window.open(url,'Download','toolbar=0,location=no,directories=0,status=0, scrollbars=no,resizable=0,width=1,height=1,top=0,left=0');
		window.focus();
	} else {
		window.open(url,'Download','menubar=1,toolbar=1,location=1,directories=1,status=1, scrollbars=1,resizable=1,width=780,height=500,top=0,left=0');
	}
	location.href = '/site/dwnld' + codprog + '.htm';
}

function decode(str) {
	return ;
}

function abrir(URL) {
	window.open(URL,'abrir','toolbar=no,location=no,directories=no,status=yes,menubar=no,scrollbars=yes,resizable=no,menubar=no,width=975,height=600');
}

function abrir_sincroniza_bd(URL) {
	window.open(URL,'abrir','toolbar=no,location=no,directories=no,status=yes,menubar=no,scrollbars=yes,resizable=no,menubar=no,width=637,height=300');
	$("#flex0").flexReload();
}

function abrir_gerar_contrato(URL) {
	window.open(URL,'abrir','toolbar=no,location=no,directories=no,status=yes,menubar=no,scrollbars=yes,resizable=no,menubar=no,width=637,height=300');
}

function abrir_enviar_spam(URL) {
	//Confirma se deve executar a atualização
	if(confirm('Confirma o envio do spam(ns) para o(s) e-mail(s) dos assinantes?')){
		window.open(URL,'abrir','toolbar=no,location=no,directories=no,status=yes,menubar=no,scrollbars=yes,resizable=no,menubar=no,width=737,height=500');
	}
}

function abrir_processo_andamento(codigo_site) {
	window.open('im_processo_andamento.php?edit='+codigo_site,'abrir','toolbar=no,location=no,menubar=no,scrollbars=yes,resizable=no,menubar=no,width=975,height=500');
}

function abrir_jornal(URL) {
	window.open(URL,'abrir','toolbar=no,location=no,directories=no,status=yes,menubar=no,scrollbars=yes,resizable=no,menubar=no,width=975,height=600');
}

function abrir_enquete(URL) {
	window.open(URL,'abrir','toolbar=no,location=no,directories=no,status=yes,menubar=no,scrollbars=no,resizable=no,menubar=no,width=400,height=300');
}

//Verificando dados para iniciar atualização de clientes, processos, andamentos, funcionário
function salvar_atualizar_processo(verificar_oab,
								   localizar_processo,
								   uf,
								   t_justica,
								   dt_comarca,
								   t_trabalho,
								   t_eleitoral,
								   t_federal,
								   cadastrar_acao,
								   cadastrar_cliente,
								   cadastrar_andamento,
								   cadastrar_publicidade) {
	
	//If para verificar a validação de campo do formulário
	if(Valida_Campo()){
		//Do processo e do advogado
		ver_oab = document.getElementById('verificar_oab').value;
		loc_pro = document.getElementById('localizar_processo').value;
		uf = document.getElementById('uf').value;
	
		//Dados do tribunal de justiça
		tri_j = document.getElementById('t_justica').value;
		dt_comarca = document.getElementById('dt_comarca').value;
		
		//Dados do tribunal do trabalho
		tri_t = document.getElementById('t_trabalho').value;
		
		//Dados do Tribunal Eleitoral
		tri_e = document.getElementById('t_eleitoral').value;
		
		//Dados do Tribunal Federal
		tri_f = document.getElementById('t_federal').value;
		
		//Ação, Cliente, Andamento, Publicação
		cad_acao = document.getElementById('cadastrar_acao').value;
		cad_cli  = document.getElementById('cadastrar_cliente').value;
		cad_and  = document.getElementById('cadastrar_andamento').value;
		cad_pub  = document.getElementById('cadastrar_publicacao').value;
			
		//Verifica se alguma opção foi marcada	
		if ((ver_oab != '') || 
			(loc_pro != '') || 
			(uf != '') || 
			(tri_j != '') || 
			(dt_comarca != '') || 
			(tri_t != '') || 
			(tri_e != '') || 
			(tri_f != '') || 
			(cad_acao != '') || 
			(cad_cli != '') || 
			(cad_and != '') ||
			(cad_pub != '')) {
			
			//Aviso da mensagem
			mensagem  = 'O que será feito?\n';
				
			//Verificar número oab
			if (ver_oab == 's') {
				mensagem += '\n  - Verificar processos a partir da OAB do funcionário.';	
			}			
			//Verificar número processo
			if (loc_pro == 's') {
				mensagem += '\n  - Localizar número dos processos.';	
			}
			//Verificar o estado selecionado
			switch (uf) {
				case 'AC':
					mensagem += '\n  - Localizar no estado do Acre.';	
					break
				case 'AL':
					mensagem += '\n  - Localizar no estado do Alagoas.';
					break
				case 'AP':
					mensagem += '\n  - Localizar no estado do Amapá.';	
					break
				case 'AM':
					mensagem += '\n  - Localizar no estado do Amazonas.';	
					break
				case 'BA':
					mensagem += '\n  - Localizar no estado do Bahia.';	
					break
				case 'CE':
					mensagem += '\n  - Localizar no estado do Ceára.';	
					break
				case 'DF':
					mensagem += '\n  - Localizar no Distrito Federal.';	
					break
				case 'ES':
					mensagem += '\n  - Localizar no estado do Espiríto Santo.';	
					break
				case 'GO':
					mensagem += '\n  - Localizar no estado do Goiás.';	
					break
				case 'MA':
					mensagem += '\n  - Localizar no estado do Maranhão.';	
					break
				case 'MT':
					mensagem += '\n  - Localizar no estado do Mato Grosso.';	
					break
				case 'MS':
					mensagem += '\n  - Localizar no estado do Mato Grosso do Sul.';	
					break
				case 'MG':
					mensagem += '\n  - Localizar no estado de Minas Gerais.';	
					break
				case 'PA':
					mensagem += '\n  - Localizar no estado do Pará.';	
					break
				case 'PB':
					mensagem += '\n  - Localizar no estado da Paraíba.';	
					break
				case 'PR':
					mensagem += '\n  - Localizar no estado do Paraná.';	
					break
				case 'PE':
					mensagem += '\n  - Localizar no estado do Pernambuco.';	
					break
				case 'PI':
					mensagem += '\n  - Localizar no estado do Piauí.';	
					break
				case 'RJ':
					mensagem += '\n  - Localizar no estado do Rio de Janeiro.';	
					break
				case 'RN':
					mensagem += '\n  - Localizar no estado do Rio Grande do Norte.';	
					break
				case 'RS':
					mensagem += '\n  - Localizar no estado do Rio Grande do Sul.';	
					break
				case 'RO':

					mensagem += '\n  - Localizar no estado de Rondônia.';	
					break
				case 'RR':
					mensagem += '\n  - Localizar no estado de Roraima.';	
					break
				case 'SC':
					mensagem += '\n  - Localizar no estado de Santa Catarina.';	
					break
				case 'SP':
					mensagem += '\n  - Localizar no estado de São Paulo.';	
					break
				case 'SE':
					mensagem += '\n  - Localizar no estado de Sergipe.';	
					break
				case 'TO':
					mensagem += '\n  - Localizar no estado de Tocantins.';	
					break
			}
			
			//Atualizar andamento do processo
			if (cad_acao == 's') {
				mensagem += '\n  - Cadastrar tipos de ações dos processos.';	
			}
			//Atualizar clientes
			if (cad_cli == 's') {
				mensagem += '\n  - Cadastrar partes dos processos.';	
			}
			//Cadastrar andamento do processo
			if (cad_and == 's') {
				mensagem += '\n  - Cadastrar os andamentos dos processos.';	
			}			
			//Cadastrar publicações do processo
			if (cad_pub == 's') {
				mensagem += '\n  - Cadastrar as últimas publicações dos processos.';	
			}			
			
			
			//Tribunal de Justiça
				if (tri_j == 's') {
					mensagem += '\n  - A partir do Tribunal de Justiça do estado.';	
				}
				if (dt_comarca != '') {
					mensagem += '\n  - Dentro das seguintes comarcas: ';
					mensagem += '\n      '+dt_comarca;
				} else {
					mensagem += '\n  - Em todas as comarcas do estado.';
				}
				
			
			//Tribunal do Trabalho
				if (tri_t == 's') {
					mensagem += '\n  - A partir do Tribunal do Trabalho do estado.';	
				}
			
			//Tribunal Eleitoral
				if (tri_e == 's') {
					mensagem += '\n  - A partir do Tribunal Eleitoral do estado.';	
				}
			
			//Tribunal Federal
				if (tri_f == 's') {
					mensagem += '\n  - A partir do Tribunal Federal do estado.';	
				}
							
			//Aviso da mensagem
			mensagem += '\n\nEssa atualização vai demorar de 10 a 20 minutos.';
			mensagem += '\n\nEnquanto isso é recomendado que você não utilize a internet,';
			mensagem += '\npara não atrasar mais ainda o processo de atualização.';
			
			//Confirma se deve executar a atualização
			if(confirm(mensagem)){
				//Enviando dados do formulário
				window.open('im_processo_atualiza.php?ver_oab='+ver_oab+
							'&loc_pro='+loc_pro+
							'&uf='+uf+
							'&tri_j='+tri_j+
							'&dtcomarca='+dt_comarca+
							'&tri_t='+tri_t+
							'&tri_e='+tri_e+
							'&tri_f='+tri_f+
							'&cad_acao='+cad_acao+
							'&cad_cli='+cad_cli+
							'&cad_and='+cad_and+
							'&cad_pub='+cad_pub
							,'abrir','toolbar=no,location=no,menubar=no,scrollbars=yes,resizable=no,menubar=no,width=737,height=400');
			}
		} else {
			alert('Nenhuma opção foi selecionada!');		
		}//Fecha a traba de opção
	}//Fecha o valida campos
}

function mascara(o,f){
    v_obj=o
    v_fun=f
    setTimeout("execmascara()",1)
}

function execmascara(){
    v_obj.value=v_fun(v_obj.value)
}

function leech(v){
    //window.alert(v);
	v=v.replace(/o/gi,"0")
    v=v.replace(/i/gi,"1")
    v=v.replace(/z/gi,"2")
    v=v.replace(/e/gi,"3")
    v=v.replace(/a/gi,"4")
    v=v.replace(/s/gi,"5")
    v=v.replace(/t/gi,"7")
    return v
}

//Função que permite o preenchimento de somento números no campo
function soNumeros(v){
    //window.alert(v);
	return v.replace(/\D/g,"")
}

//Função para validação de número de CPF
function validacpf()
{ 
	var i; 
  		s = document.form.user.value; 
    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){ 
  	window.alert("Por favor, o Campo CPF está em Branco ou foi informado incorretamente.") 
  return false;
} 
	d1 = 11 - (d1 % 11); 
  	if (d1 > 9) d1 = 0; 
  		if (dv.charAt(0) != d1) 
  { 
  window.alert("Por favor, o Campo CPF está em Branco ou foi informado incorretamente.") 
  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) 
  		{	 
  window.alert("Por favor, o Campo CPF está em Branco ou foi informado incorretamente.") 
	return false; 
		} 
	return false; 
}


//Função para converter em algorimos romanos
function romanos(v){
	//window.alert(v);
    v=v.toUpperCase()             //Maiúsculas
    v=v.replace(/[^IVXLCDM]/g,"") //Remove tudo o que não for I, V, X, L, C, D ou M
    //Essa é complicada! Copiei daqui: http://www.diveintopython.org/refactoring/refactoring.html
    while(v.replace(/^M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})$/,"")!="")
        v=v.replace(/.$/,"")
    return v
}

//Função para preencher o endereço do site
function site(v){
	//window.alert(v);
    //Esse sem comentarios para que você entenda sozinho ;-)
    v=v.replace(/^http:\/\/?/,"")
    dominio=v
    caminho=""
    if(v.indexOf("/")>-1)
        dominio=v.split("/")[0]
        caminho=v.replace(/[^\/]*/,"")
    dominio=dominio.replace(/[^\w\.\+-:@]/g,"")
    caminho=caminho.replace(/[^\w\d\+-@:\?&=%\(\)\.]/g,"")
    caminho=caminho.replace(/([\?&])=/,"$1")
    if(caminho!="")dominio=dominio.replace(/\.+$/,"")
    v="http://"+dominio+caminho
    return v
}

//Função de mascara para moeda
function MascaraMoeda(objTextBox, SeparadorMilesimo, SeparadorDecimal, e){
    var sep = 0;
    var key = '';
    var i = j = 0;
    var len = len2 = 0;
    var strCheck = '0123456789';
    var aux = aux2 = '';
    var whichCode = (window.Event) ? e.which : e.keyCode;
	
	// 13=enter, 8=backspace as demais retornam 0(zero)
    // whichCode==0 faz com que seja possivel usar todas as teclas como delete, setas, etc 
    
	if ((whichCode == 13) || (whichCode == 0) || (whichCode == 8)) return true;
    key = String.fromCharCode(whichCode); // Valor para o código da Chave
    if (strCheck.indexOf(key) == -1) return false; // Chave inválida
    len = objTextBox.value.length;
    for(i = 0; i < len; i++)
        if ((objTextBox.value.charAt(i) != '0') && (objTextBox.value.charAt(i) != SeparadorDecimal)) break;
    aux = '';
    for(; i < len; i++)
        if (strCheck.indexOf(objTextBox.value.charAt(i))!=-1) aux += objTextBox.value.charAt(i);
    aux += key;
    len = aux.length;
    if (len == 0) objTextBox.value = '';
    if (len == 1) objTextBox.value = '0'+ SeparadorDecimal + '0' + aux;
    if (len == 2) objTextBox.value = '0'+ SeparadorDecimal + aux;
    if (len > 2) {
        aux2 = '';
        for (j = 0, i = len - 3; i >= 0; i--) {
            if (j == 3) {
                aux2 += SeparadorMilesimo;
                j = 0;
            }
            aux2 += aux.charAt(i);
            j++;
        }
        objTextBox.value = '';
        len2 = aux2.length;
        for (i = len2 - 1; i >= 0; i--)
        objTextBox.value += aux2.charAt(i);
        objTextBox.value += SeparadorDecimal + aux.substr(len - 2, len);
    }
    return false;
}


String.PAD_LEFT  = 0;
String.PAD_RIGHT = 1;
String.PAD_BOTH  = 2;

String.prototype.pad = function(size, pad, side) {
  var str = this, append = "", size = (size - str.length);
  var pad = ((pad != null) ? pad : " ");
  if ((typeof size != "number") || ((typeof pad != "string") || (pad == ""))) {
    throw new Error("Wrong parameters for String.pad() method.");
  }
  if (side == String.PAD_BOTH) {
    str = str.pad((Math.floor(size / 2) + str.length), pad, String.PAD_LEFT);
    return str.pad((Math.ceil(size / 2) + str.length), pad, String.PAD_RIGHT);
  }
  while ((size -= pad.length) > 0) {
    append += pad;
  }
  append += pad.substr(0, (size + pad.length));
  return ((side == String.PAD_LEFT) ? append.concat(str) : str.concat(append));
}

Number.prototype.format = function(d_len, d_pt, t_pt) {
  var d_len = d_len || 0;
  var d_pt = d_pt || ".";
  var t_pt = t_pt || ",";
  if ((typeof d_len != "number")
    || (typeof d_pt != "string")
    || (typeof t_pt != "string")) {
    throw new Error("wrong parameters for method 'String.pad()'.");
  }
  var integer = "", decimal = "";
  var n = new String(this).split(/\./), i_len = n[0].length, i = 0;
  if (d_len > 0) {
    n[1] = (typeof n[1] != "undefined") ? n[1].substr(0, d_len) : "";
    decimal = d_pt.concat(n[1].pad(d_len, "0", String.PAD_RIGHT));
  }
  while (i_len > 0) {
    if ((++i % 3 == 1) && (i_len != n[0].length)) {
      integer = t_pt.concat(integer);
    }
    integer = n[0].substr(--i_len, 1).concat(integer);
  }
  return (integer + decimal);
}

// Marcara condicional por Tipo de Pessoa: Fisica ou Juridica
function setmask_pessoa(tipo){
    if (tipo == 'cpf'){
		document.getElementById('cpfcnpj').onkeypress=function(){
			return txtBoxFormat('cpf', '999.999.999-99', event);
		}
    } else {
		document.getElementById('cpfcnpj').onkeypress=function(){
			return txtBoxFormat('cpf', '99.999.999/9999-99', event);
		}
    }
}

function processo_trabalho(va){
	// 00000.0000.000.00.00.0    01028-2005-030-03-00-2
    var v = va.value;
    v=v.replace(/\D/g,"")                                                                  //Remove tudo o que não é dígito
    v=v.replace(/^(\d{5})(\d)/,"$1-$2")                                                    //Coloca ponto entre o segundo e o terceiro dígitos
    v=v.replace(/^(\d{5})\-(\d{4})(\d)/,"$1-$2-$3")                                        //Coloca ponto entre o sexto e o setimo dígitos
    v=v.replace(/^(\d{5})\-(\d{4})-(\d{3})(\d)/,"$1-$2-$3-$4")                             //Coloca ponto entre o sexto e o setimo dígitos
	v=v.replace(/^(\d{5})\-(\d{4})-(\d{3})-(\d{2})(\d)/,"$1-$2-$3-$4-$5")                  //Coloca ponto entre o sexto e o setimo dígitos
	v=v.replace(/^(\d{5})\-(\d{4})-(\d{3})-(\d{2})-(\d{2})(\d)/,"$1-$2-$3-$4-$5-$6")       //Coloca ponto entre o sexto e o setimo dígitos
    va.value = v;
}

function processo_federal(va){
	// 0000.00.00.000000-0    2004.38.00.732068-6
	var v = va.value;
    v=v.replace(/\D/g,"")                                     			  				    //Remove tudo o que não é dígito
    v=v.replace(/^(\d{4})(\d)/,"$1.$2")                       			  					//Coloca ponto entre o segundo e o terceiro dígitos
    v=v.replace(/^(\d{4})\.(\d{2})(\d)/,"$1.$2.$3")           			  					//Coloca ponto entre o sexto e o setimo dígitos
    v=v.replace(/^(\d{4})\.(\d{2})\.(\d{2})(\d)/,"$1.$2.$3.$4")           			        //Coloca ponto entre o sexto e o setimo dígitos
    v=v.replace(/^(\d{4})\.(\d{2})\.(\d{2})\.(\d{6})(\d)/,"$1.$2.$3.$4-$5")           		//Coloca ponto entre o sexto e o setimo dígitos	
    va.value = v;
}

//Limpa o valor do campo
function limpa_campo(){
	document.getElementById('nr_processo').value = '';
	//Verifica se o campo esta desabilitado
	if ( document.getElementById('nr_processo').disabled == true ){
		document.getElementById('nr_processo').value = 'Informe Primeiro o Tribunal';
	}
}

// Marcara condicional por Tipo de Processo
function setmask_processo(tipo){
	
	//Verifica se o campo e null
	if (document.getElementById('tribunal').value == ''){
		document.getElementById('nr_processo').disabled = true;
	}else{
		document.getElementById('nr_processo').disabled = false;
	}
	
	//Descobre qual é a versão do Navegador
	versao = parseInt(navigator.appVersion);
	navegador = navigator.appName;

	switch (tipo) {
    	case 'j': 
			if (versao > 3)
			if (navegador == "Microsoft Internet Explorer"){
				document.getElementById('nr_processo').onkeypress=function(){
					return txtBoxFormat( this, '9999.99.999999-9', event );
				};
			}else if (navegador == "Netscape"){
				document.getElementById('nr_processo').setAttribute('onkeypress', 'return txtBoxFormat( this, \'9999.99.999999-9\', event );');
			}
			document.getElementById('nr_processo').maxLength = 16;
			//document.getElementById('nr_processo').setAttribute('maxlength','16');
			break
    	case 't': 
			if (versao > 3)
			if (navegador == "Microsoft Internet Explorer"){
				document.getElementById('nr_processo').onkeypress=function(){
					processo_trabalho( this );
				};
			}else if (navegador == "Netscape"){
				document.getElementById('nr_processo').setAttribute('onkeypress', 'processo_trabalho(this);');
			}
			document.getElementById('nr_processo').maxLength = 22;
			//document.getElementById('nr_processo').setAttribute('maxlength','16');
			break
    	case 'e': 
			if (versao > 3)
			if (navegador == "Microsoft Internet Explorer"){
				document.getElementById('nr_processo').onkeypress=function(){
					return txtBoxFormat( this, '9999999999999', event );
				};
			}else if (navegador == "Netscape"){
				document.getElementById('nr_processo').setAttribute('onkeypress', 'return txtBoxFormat( this, \'9999999999999\', event );');
			}
			document.getElementById('nr_processo').maxLength = 16;
			//document.getElementById('nr_processo').setAttribute('maxlength','16');
			break
    	case 'f': 
			if (versao > 3)
			if (navegador == "Microsoft Internet Explorer"){
				document.getElementById('nr_processo').onkeypress=function(){
					return processo_federal(this);
				};
			}else if (navegador == "Netscape"){
				document.getElementById('nr_processo').setAttribute('onkeypress', 'processo_federal(this);');
			}
			document.getElementById('nr_processo').maxLength = 19;
			//document.getElementById('nr_processo').setAttribute('maxlength','16');
			break
    }
}

//Máscara padrão por paramentro
function txtBoxFormat(objeto, sMask, evtKeyPress) {
	
	var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;
	
	if(document.all) { // Internet Explorer
		nTecla = evtKeyPress.keyCode; }
	else if(document.layers) { // Nestcape
		nTecla = evtKeyPress.which;
	}else {
		nTecla = evtKeyPress.which;
		if (nTecla == 8) { //Firefox
			return true;
		}
	}
	
	sValue = objeto.value;
	// Limpa todos os caracteres de formatação que já estiverem no campo.
	sValue = sValue.toString().replace( "-", "" );
	sValue = sValue.toString().replace( "-", "" );
	sValue = sValue.toString().replace( ".", "" );
	sValue = sValue.toString().replace( ".", "" );
	sValue = sValue.toString().replace( "/", "" );
	sValue = sValue.toString().replace( "/", "" );
	sValue = sValue.toString().replace( ":", "" );
	sValue = sValue.toString().replace( ":", "" );
	sValue = sValue.toString().replace( "(", "" );
	sValue = sValue.toString().replace( "(", "" );
	sValue = sValue.toString().replace( ")", "" );
	sValue = sValue.toString().replace( ")", "" );
	sValue = sValue.toString().replace( " ", "" );
	sValue = sValue.toString().replace( " ", "" );
	fldLen = sValue.length;
	mskLen = sMask.length;
	
	i = 0;
	nCount = 0;
	sCod = "";
	mskLen = fldLen;
	
	while (i <= mskLen) {
		bolMask = ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "/") || (sMask.charAt(i) == ":"))
		bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == " "))
		
		if (bolMask) {
			sCod += sMask.charAt(i);
			mskLen++; }
		else {
			sCod += sValue.charAt(nCount);
			nCount++;
		}
		i++;
	}
	
	objeto.value = sCod;
	
	if (nTecla != 8) { // backspace
		if (sMask.charAt(i-1) == "9") { // apenas números...
			return ((nTecla > 47) && (nTecla < 58)); } // números de 0 a 9
		else { // qualquer caracter...
		return true;
		} 
	} else { 
		return true;
	}
}

//********************************************* INÍCIO DE FUNÇÕES DE VALIDAÇÕES DO IMCADASTRO *************************************************
//Função Principal de validação de campo
function Valida_Campo() {	
	var i;
	var j;
	var val_campo = "";
	var retorno;
	var pos;
	var val_atual;
	var val_exec;
	var paramet;
	var ret;
	ret = true;
	//Executa um for para montar os campos da estrutura
	for(i=0; i < str_estrutura.length; i++)
	{
		//Variavel do campo recebe a estrutura
		val_campo = str_estrutura[i];
		
		while(val_campo.length > 0)
		{
			//window.alert(val_campo);
			pos = val_campo.indexOf(";");
			if(pos > -1)
			{
				val_atual = val_campo.substr(0,pos);
				val_campo = val_campo.substr(pos+1);
			}
			else
			{
				val_atual = val_campo;
				val_campo = "";											
			}
			//window.alert(val_atual);
			/* Descomentar depois que verificar para que serve -- Marcus
			pos = val_atual.indexOf(">");
			val_exec = val_atual.substr(0,pos) + "(";
			val_atual = val_atual.substr(pos+1);
			paramet = val_atual.split(",");
			for(j=0; j < paramet.length; j++) 
			{
				val_exec = val_exec + "'" + paramet[j] + "',";
			}
			val_exec = val_exec.substr(0,val_exec.length-1) + ")"; 
			*/
			eval("retorno = " + val_atual); // Mudar para val_exec depois -- Marcus
			//window.alert(retorno);
			if(!retorno)
			{
				ret = false;
				i = str_estrutura.length;
				break;
			}	
		}
	}
	return ret;
}

//Função para verificar se o campo valido e obrigatório está em branco
function naovazio(campo_valida, desc_campo) {
	if(document.getElementById(campo_valida).value == '') {
		window.alert("O campo '"+ desc_campo + "' esta em branco, favor verificar.");
		document.getElementById(campo_valida).focus();
		return false;
	}else
		return true;
}

//Função para abrir o popup para consulta padrão
function abrir_consulta_padrao(tab_consulta,campo, cp_select_conspad, im_condicao, valida_chave, vl_chave_mae){
	
	//window.alert(valida_chave);
	//window.alert(vl_chave_mae);
	
	//Abre a janela no centro da tela
	//$.modal("include('im_consulta_padrao.php');", {close: false});
/*
	// Inicializa variaveis
	var campos;			// Guarda campos chave para pesquisar valor
	var vl_chave = '';	// Guarda conteudo dos campos chaves para envio ao im_existechave.php
	
	//Recebe os itens da validação de chave
	itens = valida_chave.split("*");
	
	// Separa os campos chave pelo (-)
	campos = itens[1].split("-");

	// Recebe o valor do campo e guarda conteudo do campo valor	
	for(i=0; i<campos.length; i++){
		vl_chave += document.forms['form'].elements[campos[i]].value+';';								
	}
*/	
	window.open('im_consulta_padrao.php?tab_consulta='+tab_consulta+'&campo='+campo+'&cp_select_conspad='+cp_select_conspad+'&condicao='+im_condicao+'&valida_chave='+valida_chave+'&vl_chave_mae='+vl_chave_mae,'abrir','toolbar=no,location=no,menubar=no,scrollbars=yes,resizable=no,menubar=no,width=637,height=300');
}

//Função para buscar informações para preencher campos a partir de outro
function im_gatilho(im_cpo_origem,im_cod_cpo){
	//window.alert(im_cpo_origem);
	
	//Recebe o campo origem do gatilho para repassar ao im_gatilho.php
	im_cpo_origem_t = im_cpo_origem;
	
	//Recebe o valor do campo
	im_cpo_origem = document.forms['form'].elements[im_cpo_origem];
	
	//Verifica tamanho para verificação
	document.getElementById('frameFuncoes').src= 'im_funcoes.php?funcao=im_gatilho&cpo_origem=' + im_cpo_origem_t +'&valor_origem='+ im_cpo_origem.value +'&cod_cpo='+ im_cod_cpo;
}

//Declara flag para salvar
var fl_salvar= true;

//Função para buscar informações para preencher campos a partir de outro
function im_gatilho_conspad(im_cpo_origem, im_cod_busca, campo_dest, condicao, valida_chave, registro){

	// Inicializa variaveis
	var campos;			// Guarda campos chave para pesquisar valor
	var conteudo = '';	// Guarda conteudo dos campos chaves para envio ao im_existechave.php
	var itens;
	var cpo_origem_chave = '';
	var cpo_chave = '';
	var tabela = '';
	
	if (valida_chave != '')
	{
		//Recebe os itens da validação de chave
		itens = valida_chave.split("*");
		
		// Separa os campos chave pelo (-)
		campos = itens[1].split("-");
	
		// Recebe o valor do campo e guarda conteudo do campo valor	
		for(i=0;i<campos.length;i++){
			//window.alert(document.forms['form'].elements[campos[i]].value);
			conteudo += document.forms['form'].elements[campos[i]].value+';';								
		}
		cpo_origem_chave = itens[0];
		cpo_chave = itens[1];
		tabela = itens[2];

		// Executa existechave
		im_existechave(im_cpo_origem,cpo_origem_chave,tabela,registro);
	}
	
	//Recebe o campo origem do gatilho para repassar ao im_gatilho.php
	im_cpo_origem_t = im_cpo_origem;
	
	//Recebe o valor do campo
	im_cpo_origem = document.forms['form'].elements[im_cpo_origem];
	
	//Verifica tamanho para verificação
	document.getElementById('frameFuncoes').src= 'im_funcoes.php?funcao=im_gatilho_conspad&cpo_origem=' + im_cpo_origem_t +'&valor_origem='+ im_cpo_origem.value +'&cod_busca='+ im_cod_busca +'&campo_dest='+ campo_dest +'&condicao='+ condicao+'&cpo_origem_chave='+cpo_origem_chave+'&cpo_chave='+cpo_chave+'&valor_chave='+conteudo+'&tabela='+tabela+'&registro='+registro;
}

//Função para buscar informações para preencher campos a partir de outro
function im_conspad(im_cpo_origem, im_cod_retorno, im_condicao, valida_chave, registro){
		
	// Inicializa variaveis
	var campos;			// Guarda campos chave para pesquisar valor
	var conteudo = '';	// Guarda conteudo dos campos chaves para envio ao im_existechave.php
	var itens;
	var cpo_origem_chave = '';
	var cpo_chave = '';
	var tabela = '';
	
	// Se é campo chave
	if (valida_chave != '')
	{
		//Recebe os itens da validação de chave
		itens = valida_chave.split("*");
		
		// Separa os campos chave pelo (-)
		campos = itens[1].split("-");
	
		// Recebe o valor do campo e guarda conteudo do campo valor	
		for(i=0;i<campos.length;i++){
			// window.alert(document.forms['form'].elements[campos[i]].value);
			conteudo += document.forms['form'].elements[campos[i]].value+';';
		}
		
		cpo_origem_chave = itens[0];
		cpo_chave = itens[1];
		tabela = itens[2];	

		// Executa existechave
		$.get('im_funcoes.php?funcao=im_existechave&cpo_origem='+im_cpo_origem+'&cpo_chave='+cpo_chave+'&valor_chave='+conteudo+'&tabela='+tabela+'&registro='+registro,
	
			//Determinar o alvo
			function(data) {
					
				if (String(data).substring(0,2) != 'ok'){
	
					fl_salvar = false;
					
					// Registro onde foi encontrado a chave
					reg_encontrado = String(data).substring(0,10);
									
					// Envia Mensagem
					window.alert('O conteudo digitado no campo ja existe na tabela! Registro: '+reg_encontrado);
	
					// Limpa o valor e retorna o foco para o campo
					document.forms['form'].elements[im_cpo_origem].value = '';
					document.forms['form'].elements[im_cpo_origem].focus();
	
				// Se não encontrar registro com a chave digitada
				}else{
					// Libera flag para Salvar
					fl_salvar = true;

					//Recebe o campo origem do gatilho para repassar ao im_gatilho.php
					im_cpo_origem_t = im_cpo_origem;
					
					//Recebe o valor do campo
					im_cpo_origem = document.forms['form'].elements[im_cpo_origem];

					document.getElementById('frameFuncoes').src= 'im_funcoes.php?funcao=im_conspad&cpo_origem=' + im_cpo_origem_t +'&valor_origem='+ im_cpo_origem.value +'&cod_retorno='+ im_cod_retorno+'&condicao='+ im_condicao+'&cpo_origem_chave='+cpo_origem_chave+'&cpo_chave='+cpo_chave+'&valor_chave='+conteudo+'&tabela='+tabela+'&registro='+registro;

/*
					// Executa função im_conspad
					$.get('im_funcoes.php?funcao=im_conspad&cpo_origem=' + im_cpo_origem_t +'&valor_origem='+ im_cpo_origem.value +'&cod_retorno='+ im_cod_retorno+'&condicao='+ im_condicao+'&cpo_origem_chave='+cpo_origem_chave+'&cpo_chave='+cpo_chave+'&valor_chave='+conteudo+'&tabela='+tabela+'&registro='+registro,
				
						//Determinar o alvo
						function(data) {
				
							if (String(data).substring(0,2) != 'ok'){
				
								fl_salvar = false;
								
								alert(data);
								
								// Registro onde foi encontrado a chave
								reg_encontrado = String(data).substring(0,10);
												
								// Envia Mensagem
								window.alert('O conteudo digitado no campo ja existe na tabela! Registro: '+reg_encontrado);
				
								// Limpa o valor e retorna o foco para o campo
								document.forms['form'].elements[im_cpo_origem].value = '';
								document.forms['form'].elements[im_cpo_origem].focus();
				
							// Se não encontrar registro com a chave digitada
							}else
								// Libera flag para Salvar
								fl_salvar = true;							
						}
					);
*/
				}
			}
		);

	}else{
		
		//Recebe o campo origem do gatilho para repassar ao im_gatilho.php
		im_cpo_origem_t = im_cpo_origem;
		
		//Recebe o valor do campo
		im_cpo_origem = document.forms['form'].elements[im_cpo_origem];
	
		document.getElementById('frameFuncoes').src= 'im_funcoes.php?funcao=im_conspad&cpo_origem=' + im_cpo_origem_t +'&valor_origem='+ im_cpo_origem.value +'&cod_retorno='+ im_cod_retorno+'&condicao='+ im_condicao+'&cpo_origem_chave='+cpo_origem_chave+'&cpo_chave='+cpo_chave+'&valor_chave='+conteudo+'&tabela='+tabela+'&registro='+registro;
	}
}

//Função para verificar se já existe registro com a chave informada
function im_existechave(im_cpo_origem,im_cpo_chave,tabela,registro){

	//window.alert('entrou no im_existechave');
	
	// Inicializa variaveis
	var campos;			// Guarda campos chave para pesquisar valor
	var conteudo = '';	// Guarda conteudo dos campos chaves para envio ao im_funcoes.php
	var im_cpo = '';

	// Separa os campos chave pelo (-)
	campos = im_cpo_chave.split("-");

	// Recebe o valor do campo e guarda conteudo do campo valor	
	for(i=0;i<campos.length;i++){
		//window.alert(document.forms['form'].elements[campos[i]].value);
		conteudo += document.forms['form'].elements[campos[i]].value+';';								
	}	

	$.get('im_funcoes.php?funcao=im_existechave&cpo_origem='+im_cpo_origem+'&cpo_chave='+im_cpo_chave+'&valor_chave='+conteudo+'&tabela='+tabela+'&registro='+registro,
	
		//Determinar o alvo
		function(data) {

			if (String(data).substring(0,2) != 'ok'){

				fl_salvar = false;
				
				// Registro onde foi encontrado a chave
				reg_encontrado = String(data).substring(0,10);
								
				// Envia Mensagem
				window.alert('O conteudo digitado no campo ja existe na tabela! Registro: '+reg_encontrado);

				// Limpa o valor e retorna o foco para o campo
				document.forms['form'].elements[im_cpo_origem].value = '';
				document.forms['form'].elements[im_cpo_origem].focus();

			}else
				fl_salvar = true;
		}
	);
	
//	document.getElementById('frameFuncoes').src= 'im_funcoes.php?funcao=im_existechave&cpo_origem='+im_cpo_origem+'&cpo_chave='+im_cpo_chave+'&valor_chave='+conteudo+'&tabela='+tabela+'&registro='+registro;
}

//Função para realizar as Validações no evento Change
/*
function im_valida_campos_focus(im_cpo_origem,im_cpo_chave,tabela){

	window.alert('entrou no im_valida_campos_focus');
	
	// Inicializa variaveis
	var campos;			// Guarda campos chave para pesquisar valor
	var conteudo = '';	// Guarda conteudo dos campos chaves para envio ao im_funcoes.php
	var im_cpo = '';
	
	//Recebe o campo origem do gatilho para repassar ao im_gatilho.php
	im_cpo_origem_t = im_cpo_origem;
	
	//Recebe o valor do campo
	im_cpo_origem = document.forms['form'].elements[im_cpo_origem];
	
	// Separa os campos chave pelo (-)
	campos = im_cpo_chave.split("-");

	// Recebe o valor do campo e guarda conteudo do campo valor	
	for(i=0;i<campos.length;i++){
		//window.alert(document.forms['form'].elements[campos[i]].value);
		conteudo += document.forms['form'].elements[campos[i]].value+';';								
	}

	document.getElementById('frameFuncoes').src= 'im_funcoes.php?funcao=im_existechave&cpo_origem='+im_cpo_origem+'&cpo_chave='+im_cpo_chave+'&valor_chave='+conteudo+'&tabela='+tabela;
}*/

//Função de remover acentos no javascript
function tiraAcento(text) {
  //window.alert(text);
  text = text.replace(new RegExp('[ÁÀÂÃ]','gi'), 'A');
  text = text.replace(new RegExp('[ÉÈÊ]','gi'), 'E');
  text = text.replace(new RegExp('[ÍÌÎ]','gi'), 'I');
  text = text.replace(new RegExp('[ÓÒÔÕ]','gi'), 'O');
  text = text.replace(new RegExp('[ÚÙÛ]','gi'), 'U');
  text = text.replace(new RegExp('[Ç]','gi'), 'C');
  //window.alert(text);
  return text;
} 

//Função para verificar se já existe registro com a chave informada
function im_tradutor(im_cpo_origem,valor){
	//window.alert(valor);
	document.getElementById('frameFuncoes').src= 'im_funcoes.php?funcao=im_tradutor&cpo_origem='+im_cpo_origem+'&valor_campo='+tiraAcento(valor);
}

//Função para verificar se já existe registro com a chave informada
function im_cep(im_cpo_origem,valor){
	//window.alert(valor);
	document.getElementById('frameFuncoes').src= 'im_funcoes.php?funcao=im_cep&cpo_origem='+im_cpo_origem+'&valor_campo='+valor;
}

//Função para botão ocultar/exibir conteúdo da div
function ocultar_exibir_div(pasta,tipo_pessoa){
	if ( tipo_pessoa.search("Jurídica") != 0){
		alert('entra')
	}
	
	//window.alert('entra');
	$(function(){
	   //Captura a div do momento
	   $('div#im_pasta_momento_' + pasta ).toggle(
		
	   //Ocultar Pasta
	   function(){
		  //Oculta a div
		  $('div#im_pasta_' + pasta).hide()
	   },function(){
		  //Exibi a div 
		  $('div#im_pasta_' + pasta).show()
	   }

	   );
	});
}

//Função para marcar e desmarcar checkbox
function MarcaCheck(campo) {	
	document.getElementById(campo).checked = !document.getElementById(campo).checked;
}

//********************************************* FIM DE FUNÇÕES DE VALIDAÇÕES DO IMCADASTRO ************************************************
