	/*****************************************************************************
	* Inclui as funções da versão pública em HTML de cadastro de PF
	*****************************************************************************/

	//variáveis "globais" utilizadas pelas interfaces
	var xml_data    = null;
	var xml_support = null;
	var active_form = null;

	function processarInterfacePrincipal()
	{
		renderInterface();
		loadInterface("publico/InterfaceHTMLPublicoDetalhesPessoaFisica", renderSubInterface);
	}

	function renderSubInterface(id)
	{
		if (!id)
			id = "principal";

		bkpXMLData();

		if (!Interfaces[newInterfaceName] || js_ambient == "devel")
			Interfaces[newInterfaceName] = getResponse();

		document.getElementById(id).innerHTML = Interfaces[newInterfaceName];

		carregarDadosApoio();
	}

	function salvarSucesso()
	{
		xml_data = getResponseXML();

		alert("Dados salvos com sucesso.");

		loadXMLData();
	}

	function mostrarFormulario(formId)
	{
		obj = document.getElementById(active_form)
		if (obj)
			ocultarFormulario(active_form);

		active_form = formId;

		obj = document.getElementById(formId);
		obj.style.display = "block";
		obj.style.visibility = "visible";
	}

	function ocultarFormulario(formId)
	{
		obj = document.getElementById(formId);
		obj.style.display = "none";
		obj.style.visibility = "hidden";
	}

    // funcao para mostrar o form do área de concentracao
    function mostrarAreaConcentracao()
    {
    	var obj = document.getElementById("form_busca_areaconcentracao");
    	obj.style.display = "block";
		obj.style.visibility = "visible";
    }

	/*
	// funcao para pegar o valor do treeview da area de concentracao
	top.adicionarAreas = function(id, nome, local)
	{
		if(id && nome)
		{
			var idconcentracao = document.getElementById('concentracao');
			var nomeconcentracao = document.getElementById('concentracao_nome');

			idconcentracao.value = id;
			nomeconcentracao.value = nome;
		}

		ocultarFormulario("form_busca_areaconcentracao");
	}
	*/

	function carregarDadosApoio()
	{
		if (!xml_support)
		{
			var dados = "<metodo>carregarApoio</metodo>";
			dados += "<parametros>";
			dados += "<item>PTipo</item>";
			dados += "<item>PUF</item>";
			dados += "<item>PPais</item>";
			dados += "<item>PSexo</item>";
			dados += "<item>PEstadoCivil</item>";
			dados += "<item>PBanco</item>";
			dados += "<item>PTipoFormacao</item>";
			dados += "<item>PTipoHistoricoProfissional</item>";
			dados += "<item>PNivelGerencial</item>";
			dados += "<item>PPoder</item>";
			dados += "<item>PEsfera</item>";
			dados += "<item>PTipoServidor</item>";
			dados += "<item>PCargoComissionado</item>";
			dados += "<item>PIdioma</item>";
			dados += "<item>PFluencia</item>";
			dados += "<item>PBooleano</item>";
			dados += "<item>PTipoSanguineo</item>";
			dados += "<item>PFatorRH</item>";
			dados += "<item>PTipoFormacao</item>";
			dados += "<item>PTipoHospedagem</item>";
			dados += "<item>PCargoEfetivo</item>";
			dados += "<item>PSituacaoServidor</item>";
			dados += "<item>PFuncaoGerencial</item>";
			dados += "</parametros>";

			ws.getData("ControleApoio", dados, processarDadosApoio);
		}
		else
			processarDadosApoio();
	}

	function processarDadosApoio()
	{
		processarDadosApoioPessoaFisica();
		loadXMLData();
	}

	function processarDadosApoioPessoaFisica()
	{
		if (!xml_support)
			xml_support = getResponseXML();

		//carrega todas as listas necessárias

		//<item>PSexo</item>
		var combo = document.getElementById("sexo");
		if (combo)
		{
			var dados = xml_support.getElementsByTagName("PSexo");
			dados = dados[0].getElementsByTagName("item");

			for (i=0; i< dados.length; i++)
			{
				if (browserType=="ie")
				{
					var obj = new Option();
					combo.add(obj);
					obj.innerText = dados[i].text;
					obj.value = dados[i].text;
				}
				else
				{
					var obj = new Option(dados[i].text,dados[i].text,false, false);
					combo.appendChild(obj);
				}
			}
		}

		//<item>PEstadoCivil</item>
		var combo = document.getElementById("estado_civil");
		if (combo)
		{
			var dados = xml_support.getElementsByTagName("PEstadoCivil");
			dados = dados[0].getElementsByTagName("item");

			for (i=0; i< dados.length; i++)
			{
				if (browserType=="ie")
				{
					var obj = new Option();
					combo.add(obj);
					obj.innerText = dados[i].text;
					obj.value = dados[i].text;
				}
				else
				{
					var obj = new Option(dados[i].text,dados[i].text,false, false);
					combo.appendChild(obj);
				}
			}
		}

		//<item>PUF</item>
		var combo = document.getElementById("uf_origem");
		if (combo)
		{
			var dados = xml_support.getElementsByTagName("PUF");
			dados = dados[0].getElementsByTagName("item");

			for (i=0; i< dados.length; i++)
			{
				var id = dados[i].getElementsByTagName("id")[0].text;
				var nome = dados[i].getElementsByTagName("nome")[0].text;

				if (browserType=="ie")
				{
					var obj = new Option();
					combo.add(obj);
					obj.innerText = nome;
					obj.value = id;
				}
				else
				{
					var obj = new Option(nome, id,false, false);
					combo.appendChild(obj);
				}
			}
		}


		var combo = document.getElementById("frm_uf");
		if (combo)
		{
			var dados = xml_support.getElementsByTagName("PUF");
			dados = dados[0].getElementsByTagName("item");

			for (i=0; i< dados.length; i++)
			{
				var id = dados[i].getElementsByTagName("id")[0].text;
				var nome = dados[i].getElementsByTagName("nome")[0].text;

				if (browserType=="ie")
				{
					var obj = new Option();
					combo.add(obj);
					obj.innerText = nome;
					obj.value = id;
				}
				else
				{
					var obj = new Option(nome, id,false, false);
					combo.appendChild(obj);
				}
			}
		}

		//<item>PPais</item>
		var combo = document.getElementById("pais_origem");
		if (combo)
		{
			var dados = xml_support.getElementsByTagName("PPais");
			dados = dados[0].getElementsByTagName("item");

			for (i=0; i< dados.length; i++)
			{
				var id = dados[i].getElementsByTagName("id")[0].text;
				var nome = dados[i].getElementsByTagName("nome")[0].text;

				if (browserType=="ie")
				{
					var obj = new Option();
					combo.add(obj);
					obj.innerText = nome;
					obj.value = id;
				}
				else
				{
					var obj = new Option(nome,id,false, false);
					combo.appendChild(obj);
				}
			}
		}


		var combo = document.getElementById("frm_pais");
		if (combo)
		{
			var dados = xml_support.getElementsByTagName("PPais");
			dados = dados[0].getElementsByTagName("item");

			for (i=0; i< dados.length; i++)
			{
				var id = dados[i].getElementsByTagName("id")[0].text;
				var nome = dados[i].getElementsByTagName("nome")[0].text;

				if (browserType=="ie")
				{
					var obj = new Option();
					combo.add(obj);
					obj.innerText = nome;
					obj.value = id;
				}
				else
				{
					var obj = new Option(nome,id,false, false);
					combo.appendChild(obj);
				}
			}

			combo.value = 10;
		}

		//<item>PBooleano</item>
		var combo = document.getElementById("disponibilidadeviagens");
		if (combo)
		{
			var dados = xml_support.getElementsByTagName("PBooleano");
			dados = dados[0].getElementsByTagName("item");

			for (i=0; i< dados.length; i++)
			{
				var id = dados[i].getElementsByTagName("id")[0].text;
				var nome = dados[i].getElementsByTagName("nome")[0].text;

				if (browserType=="ie")
				{
					var obj = new Option();
					combo.add(obj);
					obj.innerText = nome;
					obj.value = id;
				}
				else
				{
					var obj = new Option(nome,id,false, false);
					combo.appendChild(obj);
				}
			}
		}


		var combo = document.getElementById("planosaude");
		if (combo)
		{
			var dados = xml_support.getElementsByTagName("PBooleano");
			dados = dados[0].getElementsByTagName("item");

			for (i=0; i< dados.length; i++)
			{
				var id = dados[i].getElementsByTagName("id")[0].text;
				var nome = dados[i].getElementsByTagName("nome")[0].text;

				if (browserType=="ie")
				{
					var obj = new Option();
					combo.add(obj);
					obj.innerText = nome;
					obj.value = id;
				}
				else
				{
					var obj = new Option(nome,id,false, false);
					combo.appendChild(obj);
				}
			}
		}

		var combo = document.getElementById("coberturahospitalar");
		if (combo)
		{
			var dados = xml_support.getElementsByTagName("PBooleano");
			dados = dados[0].getElementsByTagName("item");

			for (i=0; i< dados.length; i++)
			{
				var id = dados[i].getElementsByTagName("id")[0].text;
				var nome = dados[i].getElementsByTagName("nome")[0].text;

				if (browserType=="ie")
				{
					var obj = new Option();
					combo.add(obj);
					obj.innerText = nome;
					obj.value = id;
				}
				else
				{
					var obj = new Option(nome,id,false, false);
					combo.appendChild(obj);
				}
			}
		}

		var combo = document.getElementById("coberturamedica");
		if (combo)
		{
			var dados = xml_support.getElementsByTagName("PBooleano");
			dados = dados[0].getElementsByTagName("item");

			for (i=0; i< dados.length; i++)
			{
				var id = dados[i].getElementsByTagName("id")[0].text;
				var nome = dados[i].getElementsByTagName("nome")[0].text;

				if (browserType=="ie")
				{
					var obj = new Option();
					combo.add(obj);
					obj.innerText = nome;
					obj.value = id;
				}
				else
				{
					var obj = new Option(nome,id,false, false);
					combo.appendChild(obj);
				}
			}
		}

		var combo = document.getElementById("diabetico");
		if (combo)
		{
			var dados = xml_support.getElementsByTagName("PBooleano");
			dados = dados[0].getElementsByTagName("item");

			for (i=0; i< dados.length; i++)
			{
				var id = dados[i].getElementsByTagName("id")[0].text;
				var nome = dados[i].getElementsByTagName("nome")[0].text;

				if (browserType=="ie")
				{
					var obj = new Option();
					combo.add(obj);
					obj.innerText = nome;
					obj.value = id;
				}
				else
				{
					var obj = new Option(nome,id,false, false);
					combo.appendChild(obj);
				}
			}
		}

		var combo = document.getElementById("alergico");
		if (combo)
		{
			var dados = xml_support.getElementsByTagName("PBooleano");
			dados = dados[0].getElementsByTagName("item");

			for (i=0; i< dados.length; i++)
			{
				var id = dados[i].getElementsByTagName("id")[0].text;
				var nome = dados[i].getElementsByTagName("nome")[0].text;

				if (browserType=="ie")
				{
					var obj = new Option();
					combo.add(obj);
					obj.innerText = nome;
					obj.value = id;
				}
				else
				{
					var obj = new Option(nome,id,false, false);
					combo.appendChild(obj);
				}
			}
		}

		var combo = document.getElementById("form_servidor");
		if (combo)
		{
			var dados = xml_support.getElementsByTagName("PBooleano");
			dados = dados[0].getElementsByTagName("item");

			for (i=0; i< dados.length; i++)
			{
				var id = dados[i].getElementsByTagName("id")[0].text;
				var nome = dados[i].getElementsByTagName("nome")[0].text;

				if (browserType=="ie")
				{
					var obj = new Option();
					combo.add(obj);
					obj.innerText = nome;
					obj.value = id;
				}
				else
				{
					var obj = new Option(nome,id,false, false);
					combo.appendChild(obj);
				}
			}
		}

		var combo = document.getElementById("form_empregoatual");
		if (combo)
		{
			var dados = xml_support.getElementsByTagName("PBooleano");
			dados = dados[0].getElementsByTagName("item");

			for (i=0; i< dados.length; i++)
			{
				var id = dados[i].getElementsByTagName("id")[0].text;
				var nome = dados[i].getElementsByTagName("nome")[0].text;

				if (browserType=="ie")
				{
					var obj = new Option();
					combo.add(obj);
					obj.innerText = nome;
					obj.value = id;
				}
				else
				{
					var obj = new Option(nome,id,false, false);
					combo.appendChild(obj);
				}
			}
		}

		//<item>PTipoSanguineo</item>
		var combo = document.getElementById("tiposangue");
		if (combo)
		{
			var dados = xml_support.getElementsByTagName("PTipoSanguineo");
			dados = dados[0].getElementsByTagName("item");

			for (i=0; i< dados.length; i++)
			{
				var id = dados[i].getElementsByTagName("id")[0].text;
				var nome = dados[i].getElementsByTagName("nome")[0].text;

				if (browserType=="ie")
				{
					var obj = new Option();
					combo.add(obj);
					obj.innerText = nome;
					obj.value = id;
				}
				else
				{
					var obj = new Option(nome,id,false, false);
					combo.appendChild(obj);
				}
			}
		}

		//<item>PFatorRH</item>
		var combo = document.getElementById("rh");
		if (combo)
		{
			var dados = xml_support.getElementsByTagName("PFatorRH");
			dados = dados[0].getElementsByTagName("item");

			for (i=0; i< dados.length; i++)
			{
				var id = dados[i].getElementsByTagName("id")[0].text;
				var nome = dados[i].getElementsByTagName("nome")[0].text;

				if (browserType=="ie")
				{
					var obj = new Option();
					combo.add(obj);
					obj.innerText = nome;
					obj.value = id;
				}
				else
				{
					var obj = new Option(nome,id,false, false);
					combo.appendChild(obj);
				}
			}
		}

		//<item>PTipo</item>
		// combo para o tipo de endereço
		var combo = document.getElementById("frm_tipoEndereco");
		if (combo)
		{
			var dados = xml_support.getElementsByTagName("PTipo");
			dados = dados[0].getElementsByTagName("item");

			for (i=0; i< dados.length; i++)
			{
				var id = dados[i].getElementsByTagName("id")[0].text;
				var nome = dados[i].getElementsByTagName("nome")[0].text;
				var categoria = dados[i].getElementsByTagName("categoria")[0].text;

				if (categoria == "endereco")
				{
					if (browserType=="ie")
					{
						var obj = new Option();
						combo.add(obj);
						obj.innerText = nome;
						obj.value = id;
					}
					else
					{
						var obj = new Option(nome,id,false, false);
						combo.appendChild(obj);
					}
				}
			}
		}

		//<item>PTipo</item>
		// combo para o tipo de telefone
		var combo = document.getElementById("frm_tipoTelefone");
		if (combo)
		{
			var dados = xml_support.getElementsByTagName("PTipo");
			dados = dados[0].getElementsByTagName("item");

			for (i=0; i< dados.length; i++)
			{
				var id = dados[i].getElementsByTagName("id")[0].text;
				var nome = dados[i].getElementsByTagName("nome")[0].text;
				var categoria = dados[i].getElementsByTagName("categoria")[0].text;

				if (categoria == "telefone")
				{
					if (browserType=="ie")
					{
						var obj = new Option();
						combo.add(obj);
						obj.innerText = nome;
						obj.value = id;
					}
					else
					{
						var obj = new Option(nome,id,false, false);
						combo.appendChild(obj);
					}
				}
			}
		}

		//<item>PTipo</item>
		// combo para tipo de e-mail
		var combo = document.getElementById("frm_tipoEmail");
		if (combo)
		{
			var dados = xml_support.getElementsByTagName("PTipo");
			dados = dados[0].getElementsByTagName("item");

			for (i=0; i< dados.length; i++)
			{
				var id = dados[i].getElementsByTagName("id")[0].text;
				var nome = dados[i].getElementsByTagName("nome")[0].text;
				var categoria = dados[i].getElementsByTagName("categoria")[0].text;

				if (categoria == "email")
				{
					if (browserType=="ie")
					{
						var obj = new Option();
						combo.add(obj);
						obj.innerText = nome;
						obj.value = id;
					}
					else
					{
						var obj = new Option(nome,id,false, false);
						combo.appendChild(obj);
					}
				}
			}
		}

		//<item>PTipo</item>
		// combo do tipo evento
		var combo = document.getElementById("frm_tipoevento");
		if (combo)
		{
			var dados = xml_support.getElementsByTagName("PTipo");
			dados = dados[0].getElementsByTagName("item");

			for (i=0; i< dados.length; i++)
			{
				var id = dados[i].getElementsByTagName("id")[0].text;
				var nome = dados[i].getElementsByTagName("nome")[0].text;
				var categoria = dados[i].getElementsByTagName("categoria")[0].text;

				if (categoria == "evento")
				{
					if (browserType=="ie")
					{
						var obj = new Option();
						combo.add(obj);
						obj.innerText = nome;
						obj.value = id;
					}
					else
					{
						var obj = new Option(nome,id,false, false);
						combo.appendChild(obj);
					}
				}
			}
		}

		//<item>PTipo</item>
		// combo do tipo publicacao
		var combo = document.getElementById("frm_tipopublicacao");
		if (combo)
		{
			var dados = xml_support.getElementsByTagName("PTipo");
			dados = dados[0].getElementsByTagName("item");

			for (i=0; i< dados.length; i++)
			{
				var id = dados[i].getElementsByTagName("id")[0].text;
				var nome = dados[i].getElementsByTagName("nome")[0].text;
				var categoria = dados[i].getElementsByTagName("categoria")[0].text;

				if (categoria == "publicacao")
				{
					if (browserType=="ie")
					{
						var obj = new Option();
						combo.add(obj);
						obj.innerText = nome;
						obj.value = id;
					}
					else
					{
						var obj = new Option(nome,id,false, false);
						combo.appendChild(obj);
					}
				}
			}
		}

		//<item>PTipo</item>
		// combo do tipo Assessoria
		var combo = document.getElementById("frm_tipocontato");
		if (combo)
		{
			var dados = xml_support.getElementsByTagName("PTipo");
			dados = dados[0].getElementsByTagName("item");

			for (i=0; i< dados.length; i++)
			{
				var id = dados[i].getElementsByTagName("id")[0].text;
				var nome = dados[i].getElementsByTagName("nome")[0].text;
				var categoria = dados[i].getElementsByTagName("categoria")[0].text;

				if (categoria == "assessoria")
				{
					if (browserType=="ie")
					{
						var obj = new Option();
						combo.add(obj);
						obj.innerText = nome;
						obj.value = id;
					}
					else
					{
						var obj = new Option(nome,id,false, false);
						combo.appendChild(obj);
					}
				}
			}
		}

		//<item>PTipo</item>
		// combo do tipo URL
		var combo = document.getElementById("frm_tipourl");
		if (combo)
		{
			var dados = xml_support.getElementsByTagName("PTipo");
			dados = dados[0].getElementsByTagName("item");

			for (i=0; i< dados.length; i++)
			{
				var id = dados[i].getElementsByTagName("id")[0].text;
				var nome = dados[i].getElementsByTagName("nome")[0].text;
				var categoria = dados[i].getElementsByTagName("categoria")[0].text;

				if (categoria == "url")
				{
					if (browserType=="ie")
					{
						var obj = new Option();
						combo.add(obj);
						obj.innerText = nome;
						obj.value = id;
					}
					else
					{
						var obj = new Option(nome,id,false, false);
						combo.appendChild(obj);
					}
				}
			}
		}

		//<item>PTipo</item>
		// checkbox do tipo Cadastro
		var local = document.getElementById("frm_tipocadastro");
		if (local)
		{
			var dados = xml_support.getElementsByTagName("PTipo");
			dados = dados[0].getElementsByTagName("item");

			var tipo_counter = 0;
			var positionX = 0;
			var positionY = 0;

			for (i=0; i< dados.length; i++)
			{
				var id = dados[i].getElementsByTagName("id")[0].text;
				var nome = dados[i].getElementsByTagName("nome")[0].text;
				var categoria = dados[i].getElementsByTagName("categoria")[0].text;

				if (categoria == "cadastro")
				{
					positionX = (100 * tipo_counter);

					//div que contém os elementos do input
					if(document.all)
						var container = document.createElement("<div>");
					else
						var container = document.createElement("div");

					container.style.position = "relative";
					container.style.width = 100;

					if (document.all)
						container.style.styleFloat = "left";
					else
						container.style.cssFloat = "left";

					// criação do checkbox
					var input 	= document.createElement("input");
					input.type 	= 'checkbox';
					input.name 	= nome;
					input.id   	= nome;
					input.value = id;

					// criação do label
					var objLabel 		= document.createElement("label");
					objLabel.innerHTML = " " + nome;
					objLabel.htmlFor 	= nome;
					container.appendChild(input);
					container.appendChild(objLabel);

					local.appendChild(container);

					tipo_counter++;

					if (positionX == 400)
					{
						tipo_counter = 0;
						positionX = 0
						positionY += 15;
					}
				}
			}

			local.style.height = positionY;
		}

		//<item>PBanco</item>
		var combo = document.getElementById("frm_banco");
		if (combo)
		{
			var dados = xml_support.getElementsByTagName("PBanco");
			dados = dados[0].getElementsByTagName("item");

			for (i=0; i< dados.length; i++)
			{
				var id = dados[i].getElementsByTagName("id")[0].text;
				var nome = dados[i].getElementsByTagName("nome")[0].text;

				if (browserType=="ie")
				{
					var obj = new Option();
					combo.add(obj);
					obj.innerText = nome;
					obj.value = id;
				}
				else
				{
					var obj = new Option(nome,id,false, false);
					combo.appendChild(obj);
				}
			}
		}

		//<item>PTipoFormacao</item>

		//<item>PTipoHistoricoProfissional</item>
		var combo = document.getElementById("form_tipoHistorico");
		if (combo)
		{
			var dados = xml_support.getElementsByTagName("PTipoHistoricoProfissional");
			dados = dados[0].getElementsByTagName("item");

			for (i=0; i< dados.length; i++)
			{
				var id = dados[i].getElementsByTagName("id")[0].text;
				var nome = dados[i].getElementsByTagName("nome")[0].text;

				if (browserType=="ie")
				{
					var obj = new Option();
					combo.add(obj);
					obj.innerText = nome;
					obj.value = id;
				}
				else
				{
					var obj = new Option(nome,id,false, false);
					combo.appendChild(obj);
				}
			}
		}

		//<item>PNivelGerencial</item>
		var combo = document.getElementById("form_nivel");
		if (combo)
		{
			var dados = xml_support.getElementsByTagName("PNivelGerencial");
			dados = dados[0].getElementsByTagName("item");

			var id = "";
			var nome = "[Selecione Abaixo]"

			if (browserType=="ie")
			{
				var obj = new Option();
				combo.add(obj);
				obj.innerText = nome;
				obj.value = id;
			}
			else
			{
				var obj = new Option(nome,id,false, false);
				combo.appendChild(obj);
			}

			for (i=0; i< dados.length; i++)
			{
				var id = dados[i].getElementsByTagName("id")[0].text;
				var nome = dados[i].getElementsByTagName("nome")[0].text;

				if (browserType=="ie")
				{
					var obj = new Option();
					combo.add(obj);
					obj.innerText = nome;
					obj.value = id;
				}
				else
				{
					var obj = new Option(nome,id,false, false);
					combo.appendChild(obj);
				}
			}
		}

		//<item>PPoder</item>
		var combo = document.getElementById("form_poder");
		if (combo)
		{
			var id = 0;
			var nome = "Nenhum"

			if (browserType=="ie")
			{
				var obj = new Option();
				combo.add(obj);
				obj.innerText = nome;
				obj.value = id;
			}
			else
			{
				var obj = new Option(nome,id,false, false);
				combo.appendChild(obj);
			}

			var dados = xml_support.getElementsByTagName("PPoder");
			dados = dados[0].getElementsByTagName("item");

			for (i=0; i< dados.length; i++)
			{
				var id = dados[i].getElementsByTagName("id")[0].text;
				var nome = dados[i].getElementsByTagName("nome")[0].text;

				if (browserType=="ie")
				{
					var obj = new Option();
					combo.add(obj);
					obj.innerText = nome;
					obj.value = id;
				}
				else
				{
					var obj = new Option(nome,id,false, false);
					combo.appendChild(obj);
				}
			}
		}

		//<item>PEsfera</item>
		var combo = document.getElementById("form_esfera");
		if (combo)
		{
			var dados = xml_support.getElementsByTagName("PEsfera");
			dados = dados[0].getElementsByTagName("item");

			var id = 0;
			var nome = "Nenhum"

			if (browserType=="ie")
			{
				var obj = new Option();
				combo.add(obj);
				obj.innerText = nome;
				obj.value = id;
			}
			else
			{
				var obj = new Option(nome,id,false, false);
				combo.appendChild(obj);
			}

			for (i=0; i< dados.length; i++)
			{
				var id = dados[i].getElementsByTagName("id")[0].text;
				var nome = dados[i].getElementsByTagName("nome")[0].text;

				if (browserType=="ie")
				{
					var obj = new Option();
					combo.add(obj);
					obj.innerText = nome;
					obj.value = id;
				}
				else
				{
					var obj = new Option(nome,id,false, false);
					combo.appendChild(obj);
				}
			}
		}

		//<item>PTipoServidor</item>
		var combo = document.getElementById("form_tipopublico");
		if (combo)
		{
			var dados = xml_support.getElementsByTagName("PTipoServidor");
			dados = dados[0].getElementsByTagName("item");

			var id = "0";
			var nome = "--"

			if (browserType=="ie")
			{
				var obj = new Option();
				combo.add(obj);
				obj.innerText = nome;
				obj.value = id;
			}
			else
			{
				var obj = new Option(nome,id,false, false);
				combo.appendChild(obj);
			}

			for (i=0; i< dados.length; i++)
			{
				var id = dados[i].getElementsByTagName("id")[0].text;
				var nome = dados[i].getElementsByTagName("nome")[0].text;

				if (browserType=="ie")
				{
					var obj = new Option();
					combo.add(obj);
					obj.innerText = nome;
					obj.value = id;
				}
				else
				{
					var obj = new Option(nome,id,false, false);
					combo.appendChild(obj);
				}
			}
		}

		//<item>PCargoComissionado</item>
		var combo = document.getElementById("form_cargocomissionado");
		if (combo)
		{
			var dados = xml_support.getElementsByTagName("PCargoComissionado");
			dados = dados[0].getElementsByTagName("item");

			var id = "";
			var nome = "Nenhum"

			if (browserType=="ie")
			{
				var obj = new Option();
				combo.add(obj);
				obj.innerText = nome;
				obj.value = id;
			}
			else
			{
				var obj = new Option(nome,id,false, false);
				combo.appendChild(obj);
			}

			for (i=0; i< dados.length; i++)
			{
				var id = dados[i].getElementsByTagName("id")[0].text;
				var nome = dados[i].getElementsByTagName("nome")[0].text;

				if (browserType=="ie")
				{
					var obj = new Option();
					combo.add(obj);
					obj.innerText = nome;
					obj.value = id;
				}
				else
				{
					var obj = new Option(nome,id,false, false);
					combo.appendChild(obj);
				}
			}

			if (browserType=="ie")
			{
				var obj = new Option();
				combo.add(obj);
				obj.innerText = "Nenhum";
				obj.value = "0";
			}
			else
			{
				var obj = new Option("Nenhum","0",false, false);
				combo.appendChild(obj);
			}
		}

		//<item>PIdioma</item>
		var combo = document.getElementById("frm_nomeidioma");
		if(combo)
		{
			var dados = xml_support.getElementsByTagName("PIdioma");
			dados = dados[0].getElementsByTagName("item");

			for (i = 0; i < dados.length; i++)
			{
				var ididioma 		= dados[i].getElementsByTagName("id")[0].text;
				var nomeidioma	 	= dados[i].getElementsByTagName("nome")[0].text;

				if (browserType=="ie")
				{
					var obj = new Option();
					combo.add(obj);
					obj.innerText = nomeidioma;
					obj.value = ididioma;
				}
				else
				{
					var obj = new Option(nomeidioma,ididioma,false, false);
					combo.appendChild(obj);
				}
			}
		}

		//<item>PFluencia</item>
		// Leitura
		var combo = document.getElementById("frm_leituraidioma");
		if (combo)
		{
			var dados = xml_support.getElementsByTagName("PFluencia");
			dados = dados[0].getElementsByTagName("item");

			for (i = 0; i < dados.length; i++)
			{
				var id 		= dados[i].getElementsByTagName("id")[0].text;
				var nome 	= dados[i].getElementsByTagName("nome")[0].text;

				if (browserType=="ie")
				{
					var obj = new Option();
					combo.add(obj);
					obj.innerText = nome;
					obj.value = id;
				}
				else
				{
					var obj = new Option(nome,id,false, false);
					combo.appendChild(obj);
				}
			}
		}

		//<item>PFluencia</item>
		// Escrita
		var combo = document.getElementById("frm_escritaidioma");
		if (combo)
		{
			var dados = xml_support.getElementsByTagName("PFluencia");
			dados = dados[0].getElementsByTagName("item");

			for (i = 0; i < dados.length; i++)
			{
				var id 		= dados[i].getElementsByTagName("id")[0].text;
				var nome 	= dados[i].getElementsByTagName("nome")[0].text;

				if (browserType=="ie")
				{
					var obj = new Option();
					combo.add(obj);
					obj.innerText = nome;
					obj.value = id;
				}
				else
				{
					var obj = new Option(nome,id,false, false);
					combo.appendChild(obj);
				}
			}
		}

		//<item>PFluencia</item>
		// Fala
		var combo = document.getElementById("frm_falaidioma");
		if (combo)
		{
			var dados = xml_support.getElementsByTagName("PFluencia");
			dados = dados[0].getElementsByTagName("item");

			for (i = 0; i < dados.length; i++)
			{
				var id 		= dados[i].getElementsByTagName("id")[0].text;
				var nome 	= dados[i].getElementsByTagName("nome")[0].text;

				if (browserType=="ie")
				{
					var obj = new Option();
					combo.add(obj);
					obj.innerText = nome;
					obj.value = id;
				}
				else
				{
					var obj = new Option(nome,id,false, false);
					combo.appendChild(obj);
				}
			}
		}

		//<item>PTipoformacao</item>
		var combo = document.getElementById("frm_tipoformacao");
		if (combo)
		{
			var dados = xml_support.getElementsByTagName("PTipoFormacao");
			dados = dados[0].getElementsByTagName("item");

			for (i=0; i< dados.length; i++)
			{
				var id = dados[i].getElementsByTagName("id")[0].text;
				var nome = dados[i].getElementsByTagName("nome")[0].text;

				if (browserType=="ie")
				{
					var obj = new Option();
					combo.add(obj);
					obj.innerText = nome;
					obj.value = id;
				}
				else
				{
					var obj = new Option(nome,id,false, false);
					combo.appendChild(obj);
				}
			}
		}
	}

	function loadXMLDataPessoaFisica()
	{
		var campos = new Array("input", "select", "textarea");

		for (var id in campos)
		{
			var fields = document.getElementsByTagName(campos[id]);

			for (i=0 ; i < fields.length; i++)
			{
				if (fields[i].id)
				{
					var value = xml_data.getElementsByTagName(fields[i].id);
					if (value[0])
						fields[i].value = value[0].text;
				}
			}
		}

		//agora cuidamos dos campos múltiplos (endereço, telefone, etc)
		//endereço
		carregarEnderecos();
		//telefones
		carregarTelefones();
		//emails
		carregarEmails();
		//contas bancárias
		carregarContas();
		//histórico profissional
		carregarHistoricosProfissionais();
		//formação acadêmica
		carregarFormacoesAcademicas();
		//capacitações
		carregarCapacitacoesExternas();
		carregarCapacitacoesENAP();
		//contatos adicionais
		carregarContatosAdicionais();
		//urls
		carregarUrls();

		//agora das exceções (disponibilidade, datas, etc)
		//data de nascimento
		var objdia = document.getElementById("dia_nasc");

		if (objdia)
		{
			var objmes = document.getElementById("mes_nasc");
			var objano = document.getElementById("ano_nasc");

			var value = xml_data.getElementsByTagName("nascimento");
			if (value[0])
			{
				objdia.value = value[0].text.substr(8,2);
				objmes.value = value[0].text.substr(5,2);
				objano.value = value[0].text.substr(0,4);
			}
		}
	}

	function loadXMLData()
	{
		loadXMLDataPessoaFisica();
	}

	function validarCadastroPessoaFisica()
	{
		var obrigatorios = new Array();

		obrigatorios[0] = new Array();
		obrigatorios[0][0] = "nome";
		obrigatorios[0][1] = "Nome";
		obrigatorios[1] = new Array();
		obrigatorios[1][0] = "rg_orgao";
		obrigatorios[1][1] = "RG/órgão";
		obrigatorios[2] = new Array();
		obrigatorios[2][0] = "sexo";
		obrigatorios[2][1] = "Sexo";
		obrigatorios[3] = new Array();
		obrigatorios[3][0] = "estado_civil";
		obrigatorios[3][1] = "Estado Civil";
		obrigatorios[4] = new Array();
		obrigatorios[4][0] = "nacionalidade";
		obrigatorios[4][1] = "Nacionalidade";
		obrigatorios[5] = new Array();
		obrigatorios[5][0] = "cidade_origem";
		obrigatorios[5][1] = "Cidade de origem";
		obrigatorios[6] = new Array();
		obrigatorios[6][0] = "uf_origem";
		obrigatorios[6][1] = "UF de origem";
		obrigatorios[7] = new Array();
		obrigatorios[7][0] = "pais_origem";
		obrigatorios[7][1] = "País de rigem";
		obrigatorios[8] = new Array();
		obrigatorios[8][0] = "nascimento";
		obrigatorios[8][1] = "Data de Nascimento";

		for (i=0 ; i < obrigatorios.length; i++)
		{
			if (xml_data.getElementsByTagName(obrigatorios[i][0])[0].text == "")
			{
				alert(obrigatorios[i][1] + " é obrigatório");
				return false;
			}
		}

		var obrigatorios = new Array();

		obrigatorios[0] = new Array();
		obrigatorios[0][0] = "PEndereco";
		obrigatorios[0][1] = "endereço";
		obrigatorios[1] = new Array();
		obrigatorios[1][0] = "PTelefone";
		obrigatorios[1][1] = "telefone";
		obrigatorios[2] = new Array();
		obrigatorios[2][0] = "PEmail";
		obrigatorios[2][1] = "e-mail";

		for (i=0 ; i < obrigatorios.length; i++)
		{
			if (xml_data.getElementsByTagName(obrigatorios[i][0]).length == 0)
			{
				alert("É obrigatório informar pelo menos 1 " + obrigatorios[i][1]);
				return false;
			}
		}

		return true;
	}

	function bkpXMLDataPessoaFisica()
	{
		var campos = new Array("input", "select", "textarea");

		for (var id in campos)
		{
			var fields = document.getElementsByTagName(campos[id]);

			for (i=0 ; i < fields.length; i++)
			{
				if (fields[i].id)
				{
					var value = xml_data.getElementsByTagName(fields[i].id);
					if (value[0])
						value[0].text = fields[i].value;
				}
			}
		}

		//agora das exceções (datas, etc)
		//data de nascimento
		var objdia = document.getElementById("dia_nasc");

		if (objdia)
		{
			var objmes = document.getElementById("mes_nasc");
			var objano = document.getElementById("ano_nasc");

			var value = xml_data.getElementsByTagName("nascimento");
			if (value[0])
			{
				value[0].text = objano.value + "-" + objmes.value + "-" + objdia.value
			}
		}
	}

	function bkpXMLData()
	{
		bkpXMLDataPessoaFisica();
	}

	function pegaRotulo(id, tipo)
	{
		var dados = xml_support.getElementsByTagName(tipo);
		dados = dados[0].getElementsByTagName("item");

		for (var y=0; y< dados.length; y++)//>
		{
			var rid = dados[y].getElementsByTagName("id")[0].text;
			if (rid == id)
				return (dados[y].getElementsByTagName("nome")[0].text);
		}
	}

	//Endereços
	function carregarEnderecos()
	{
		var enderecos = document.getElementById("enderecos");

		if (enderecos)
		{
			if (enderecos.rows.length > 2)
			{
				var count = enderecos.rows.length - 2;
				for (i=0; i < count; i++)
					enderecos.deleteRow(1);
			}

			var contents = xml_data.getElementsByTagName("PEndereco");
			for (var j=0; j < contents.length; j++)
			{
				var tipo		= pegaRotulo(contents[j].getElementsByTagName("tipo")[0].text, "PTipo");
				var endereco	= contents[j].getElementsByTagName("endereco")[0].text;
				var bairro		= contents[j].getElementsByTagName("bairro")[0].text;
				var cidade		= contents[j].getElementsByTagName("cidade")[0].text;
				var uf			= pegaRotulo(contents[j].getElementsByTagName("uf")[0].text, "PUF");
				var pais 		= pegaRotulo(contents[j].getElementsByTagName("pais")[0].text, "PPais");
				var cep 		= contents[j].getElementsByTagName("cep")[0].text;

				var str = endereco + " - " + bairro + "<br>\n";
				str += cidade + " - " + uf + " - " + pais + "<br>\n";
				str += "CEP: " + cep;

				var acoes = "<a href=javascript:editarEndereco(" + j + ")>[Editar]</a> ";
				acoes += "<a href=javascript:removerEndereco(" + j + ")>[Remover]</a>";

				var row = enderecos.insertRow((enderecos.rows.length - 1));

				var cell = row.insertCell(0);
				cell.style.verticalAlign = "top";
				cell.innerHTML = acoes;

				var cell = row.insertCell(1);
				cell.style.verticalAlign = "top";
				cell.innerHTML = tipo;

				var cell = row.insertCell(2);
				cell.style.verticalAlign = "top";
				cell.innerHTML = str;
			}
		}
	}

	function resetarEnderecoForm()
	{
		obj = document.getElementById("id_endereco");
		obj.value = "";

		obj = document.getElementById("frm_tipoEndereco");
		obj.value = "";

		obj = document.getElementById("frm_endereco");
		obj.value = "";

		obj = document.getElementById("frm_bairro");
		obj.value = "";

		obj = document.getElementById("frm_cidade");
		obj.value = "";

		obj = document.getElementById("frm_uf");
		obj.value = "";

		obj = document.getElementById("frm_pais");
		obj.value = "";

		obj = document.getElementById("frm_cep");
		obj.value = "";
	}

	function editarEndereco(id)
	{
		mostrarFormulario("enderecoForm");
		resetarEnderecoForm();

		var contents = xml_data.getElementsByTagName("PEndereco");

		obj = document.getElementById("id_endereco");
		obj.value = id;

		obj = document.getElementById("frm_tipoEndereco");
		obj.value = contents[id].getElementsByTagName("tipo")[0].text;

		obj = document.getElementById("frm_endereco");
		obj.value = contents[id].getElementsByTagName("endereco")[0].text;

		obj = document.getElementById("frm_bairro");
		obj.value = contents[id].getElementsByTagName("bairro")[0].text;

		obj = document.getElementById("frm_cidade");
		obj.value = contents[id].getElementsByTagName("cidade")[0].text;

		obj = document.getElementById("frm_uf");
		obj.value = contents[id].getElementsByTagName("uf")[0].text;

		obj = document.getElementById("frm_pais");
		obj.value = contents[id].getElementsByTagName("pais")[0].text;

		obj = document.getElementById("frm_cep");
		obj.value = contents[id].getElementsByTagName("cep")[0].text;
	}

	function validarEndereco()
	{
		var endereco = document.getElementById('frm_endereco');
		var bairro   = document.getElementById('frm_bairro');
		var cidade   = document.getElementById('frm_cidade');
		var uf       = document.getElementById('frm_uf');
		var pais     = document.getElementById('frm_pais');
		var cep      = document.getElementById('frm_cep');

		if(endereco.value == "")
		{
			window.alert('O campo ENDEREÇO é de preenchimento obrigatorio!');
			endereco.focus();
			return false;
		} else
		if(endereco.value.length < 10)
		{
			window.alert('Endereço deve ter no mínimo 10 caracteres.');
			endereco.focus();
			return false;
		} else
		if(bairro.value == "")
		{
			window.alert('O campo BAIRRO é de preenchimento obrigatório!');
			bairro.focus();
			return false;
		} else
		if(bairro.value.length < 3)
		{
			window.alert('Bairro deve ter no mínimo 3 caracteres.');
			bairro.focus();
			return false;
		} else
		if(cidade.value == "")
		{
			window.alert('O campo CIDADE é de preenchimento obrigatório!');
			cidade.focus();
			return false;
		} else
		if(cidade.value.length < 3)
		{
			window.alert('Cidade do endereço deve ter no mínimo 3 caracteres.');
			cidade.focus();
			return false;
		} else
		if(uf.value == "")
		{
			window.alert('O campo UF é de preenchimento obrigatóorio!');
			uf.focus();
			return false;
		} else
		if(pais.value == "")
		{
			window.alert('O campo PAÍS é de preenchimento obrigatório!');
			pais.focus();
			return false;
		} else
		if(cep.value == "")
		{
			window.alert('O campo CEP é de preenchimento obrigatório!');
			cep.focus();
			return false;
		} else
		if(cep.value.length < 8)
		{
			window.alert('CEP deve ter no mínimo 8 caracteres.');
			cep.focus();
			return false;
		} else
		{
			return true;
		}
	}


	function salvarEndereco()
	{
		if (validarEndereco())
		{
			var id = document.getElementById("id_endereco").value;

			if(id)
			{
				var contents = xml_data.getElementsByTagName("PEndereco");

				contents[id].getElementsByTagName("tipo")[0].text 		= document.getElementById("frm_tipoEndereco").value;
				contents[id].getElementsByTagName("endereco")[0].text 	= document.getElementById("frm_endereco").value;
				contents[id].getElementsByTagName("bairro")[0].text 	= document.getElementById("frm_bairro").value;
				contents[id].getElementsByTagName("cidade")[0].text 	= document.getElementById("frm_cidade").value;
				contents[id].getElementsByTagName("uf")[0].text 		= document.getElementById("frm_uf").value;
				contents[id].getElementsByTagName("pais")[0].text 		= document.getElementById("frm_pais").value;
				contents[id].getElementsByTagName("cep")[0].text 		= document.getElementById("frm_cep").value;

			}
			else
			{
				var newTreeNode = xml_data.getElementsByTagName("enderecos")[0];
				var newNode = xml_data.createElement("PEndereco");

				var newSubNode = xml_data.createElement("tipo");
				newSubNode.text = document.getElementById("frm_tipoEndereco").value;
				newNode.appendChild(newSubNode);

				var newSubNode = xml_data.createElement("endereco");
				newSubNode.text = document.getElementById("frm_endereco").value;
				newNode.appendChild(newSubNode);

				var newSubNode = xml_data.createElement("bairro");
				newSubNode.text = document.getElementById("frm_bairro").value;
				newNode.appendChild(newSubNode);

				var newSubNode = xml_data.createElement("cidade");
				newSubNode.text = document.getElementById("frm_cidade").value;
				newNode.appendChild(newSubNode);

				var newSubNode = xml_data.createElement("uf");
				newSubNode.text = document.getElementById("frm_uf").value;
				newNode.appendChild(newSubNode);

				var newSubNode = xml_data.createElement("pais");
				newSubNode.text = document.getElementById("frm_pais").value;
				newNode.appendChild(newSubNode);

				var newSubNode = xml_data.createElement("cep");
				newSubNode.text = document.getElementById("frm_cep").value;
				newNode.appendChild(newSubNode);

				newTreeNode.appendChild(newNode);
			}

			resetarEnderecoForm();
			ocultarFormulario("enderecoForm");
			carregarEnderecos();
		}
	}

	function removerEndereco(id)
	{
		if (confirm("Tem certeza que deseja remover este item?"))
		{
			obj = document.getElementById(active_form)
			if (obj)
				ocultarFormulario(active_form);

			var contents = xml_data.getElementsByTagName("PEndereco");

			// salva o xml removed para exclusão
			var objs = xml_data.getElementsByTagName("enderecos");
			var newNode = objs[0].getElementsByTagName("removed")[0];
			if (!newNode)
				var newNode = xml_data.createElement("removed");

			var id_removido = contents[id].getElementsByTagName("id");
			if (id_removido.length)
			{
				var newSubNode = xml_data.createElement("item");
				newSubNode.text = id_removido[0].text;
				newNode.appendChild(newSubNode);

				objs[0].appendChild(newNode);
			}

			contents[id].parentNode.removeChild(contents[id]);

			carregarEnderecos();
		}
	}

	//Telefones
	function carregarTelefones()
	{
		var telefones = document.getElementById("telefones");

		if (telefones)
		{
			if (telefones.rows.length > 2)
			{
				var count = telefones.rows.length - 2;
				for (i=0; i < count; i++)
					telefones.deleteRow(1);
			}

			var contents = xml_data.getElementsByTagName("PTelefone");
			for (var j=0; j < contents.length; j++)
			{
				var tipo		= pegaRotulo(contents[j].getElementsByTagName("tipo")[0].text, "PTipo");
				var ddi 		= contents[j].getElementsByTagName("ddi")[0].text;
				var ddd 		= contents[j].getElementsByTagName("ddd")[0].text;
				var telefone	= contents[j].getElementsByTagName("numero")[0].text;

				var acoes = "<a href=javascript:editarTelefone(" + j + ")>[Editar]</a> ";
				acoes += "<a href=javascript:removerTelefone(" + j + ")>[Remover]</a>";

				var row = telefones.insertRow((telefones.rows.length - 1));

				var cell = row.insertCell(0);
				cell.style.verticalAlign = "top";
				cell.innerHTML = acoes;

				var cell = row.insertCell(1);
				cell.style.verticalAlign = "top";
				cell.innerHTML = tipo;

				var cell = row.insertCell(2);
				cell.style.verticalAlign = "top";
				cell.innerHTML = ddi;

				var cell = row.insertCell(3);
				cell.style.verticalAlign = "top";
				cell.innerHTML = ddd;

				var cell = row.insertCell(4);
				cell.style.verticalAlign = "top";
				cell.innerHTML = telefone;
			}
		}
	}

	function resetarTelefoneForm()
	{
		obj = document.getElementById("id_telefone");
		obj.value = "";

		obj = document.getElementById("frm_tipoTelefone");
		obj.value = "";

		obj = document.getElementById("frm_ddi");
		obj.value = "";

		obj = document.getElementById("frm_ddd");
		obj.value = "";

		obj = document.getElementById("frm_numero");
		obj.value = "";
	}

	function editarTelefone(id)
	{
		mostrarFormulario("telefoneForm");
		resetarTelefoneForm();

		var contents = xml_data.getElementsByTagName("PTelefone");

		obj = document.getElementById("id_telefone");
		obj.value = id;

		obj = document.getElementById("frm_tipoTelefone");
		obj.value = contents[id].getElementsByTagName("tipo")[0].text;

		obj = document.getElementById("frm_ddi");
		obj.value = contents[id].getElementsByTagName("ddi")[0].text;

		obj = document.getElementById("frm_ddd");
		obj.value = contents[id].getElementsByTagName("ddd")[0].text;

		obj = document.getElementById("frm_numero");
		obj.value = contents[id].getElementsByTagName("numero")[0].text;

	}

	function validarTelefone()
	{
		var ddd = document.getElementById("frm_ddd");
		var ddi = document.getElementById("frm_ddi");
		var numero = document.getElementById("frm_numero");

		if(ddi.value == "")
		{
			window.alert('É obrigatório informar o DDI.');
			ddi.focus();
			return false;
		} else
		if(ddi.value.length < 2)
		{
			window.alert('DDI deve ter no mínimo 2 caracteres.');
			ddi.focus();
			return false;
		} else
		if(ddd.value == "")
		{
			window.alert('É obrigatório informar o DDD.');
			ddd.focus();
			return false;
		} else
		if(ddd.value.length < 2)
		{
			window.alert('DDD deve ter no mínimo 2 caracteres.');
			ddd.focus();
			return false;
		} else
		if(numero.value == "")
		{
			window.alert('É obrigatório informar o número do telefone.');
			numero.focus();
			return false;
		} else
		if(numero.value.length < 7)
		{
			window.alert('Número do telefone deve ter no mínimo 7 caracteres.');
			numero.focus();
			return false;
		} else
		{
			return true;
		}
	}

	function salvarTelefone()
	{
		if (validarTelefone())
		{
			var id = document.getElementById("id_telefone").value;

			if(id)
			{
				var contents = xml_data.getElementsByTagName("PTelefone");

				contents[id].getElementsByTagName("tipo")[0].text 		= document.getElementById("frm_tipoTelefone").value;
				contents[id].getElementsByTagName("ddi")[0].text 		= document.getElementById("frm_ddi").value;
				contents[id].getElementsByTagName("ddd")[0].text 		= document.getElementById("frm_ddd").value;
				contents[id].getElementsByTagName("numero")[0].text 	= document.getElementById("frm_numero").value;

			}
			else
			{
				var newTreeNode = xml_data.getElementsByTagName("telefones")[0];
				var newNode = xml_data.createElement("PTelefone");

				var newSubNode = xml_data.createElement("tipo");
				newSubNode.text = document.getElementById("frm_tipoTelefone").value;
				newNode.appendChild(newSubNode);

				var newSubNode = xml_data.createElement("ddi");
				newSubNode.text = document.getElementById("frm_ddi").value;
				newNode.appendChild(newSubNode);

				var newSubNode = xml_data.createElement("ddd");
				newSubNode.text = document.getElementById("frm_ddd").value;
				newNode.appendChild(newSubNode);

				var newSubNode = xml_data.createElement("numero");
				newSubNode.text = document.getElementById("frm_numero").value;
				newNode.appendChild(newSubNode);

				newTreeNode.appendChild(newNode);
			}

			resetarTelefoneForm();
			ocultarFormulario("telefoneForm");
			carregarTelefones();
		}
	}

	function removerTelefone(id)
	{
		if (confirm("Tem certeza que deseja remover este item?"))
		{
			obj = document.getElementById(active_form)
			if (obj)
				ocultarFormulario(active_form);

			var contents = xml_data.getElementsByTagName("PTelefone");

			// salva o xml removed para exclusão
			var objs = xml_data.getElementsByTagName("telefones");
			var newNode = objs[0].getElementsByTagName("removed")[0];
			if (!newNode)
				var newNode = xml_data.createElement("removed");

			var id_removido = contents[id].getElementsByTagName("id");
			if (id_removido.length)
			{
				var newSubNode = xml_data.createElement("item");
				newSubNode.text = id_removido[0].text;
				newNode.appendChild(newSubNode);

				objs[0].appendChild(newNode);
			}

			contents[id].parentNode.removeChild(contents[id]);
			carregarTelefones();
		}
	}

	//Emails
	function carregarEmails()
	{
		var emails = document.getElementById("emails");

		if (emails)
		{
			if (emails.rows.length > 2)
			{
				var count = emails.rows.length - 2;
				for (i=0; i < count; i++)
					emails.deleteRow(1);
			}

			var contents = xml_data.getElementsByTagName("PEmail");
			for (var j=0; j < contents.length; j++)
			{
				var tipo		= pegaRotulo(contents[j].getElementsByTagName("tipo")[0].text, "PTipo");
				var email 		= contents[j].getElementsByTagName("email")[0].text;

				var acoes = "<a href=javascript:editarEmail(" + j + ")>[Editar]</a> ";
				acoes += "<a href=javascript:removerEmail(" + j + ")>[Remover]</a>";

				var row = emails.insertRow((emails.rows.length - 1));

				var cell = row.insertCell(0);
				cell.style.verticalAlign = "top";
				cell.innerHTML = acoes;

				var cell = row.insertCell(1);
				cell.style.verticalAlign = "top";
				cell.innerHTML = tipo;

				var cell = row.insertCell(2);
				cell.style.verticalAlign = "top";
				cell.innerHTML = email;
			}
		}
	}

	function resetarEmailForm()
	{
		obj = document.getElementById("id_email");
		obj.value = "";

		obj = document.getElementById("frm_tipoEmail");
		obj.value = "";

		obj = document.getElementById("frm_email");
		obj.value = "";
	}

	function editarEmail(id)
	{
		mostrarFormulario("emailForm");
		resetarEmailForm();

		var contents = xml_data.getElementsByTagName("PEmail");

		obj = document.getElementById("id_email");
		obj.value = id;

		obj = document.getElementById("frm_tipoEmail");
		obj.value = contents[id].getElementsByTagName("tipo")[0].text;

		obj = document.getElementById("frm_email");
		obj.value = contents[id].getElementsByTagName("email")[0].text;
	}

	function validarEmail()
	{
		var email = document.getElementById('frm_email');
		if(email.value == "")
		{
			window.alert('É obrigatório informar o e-mail.');
			email.focus();
			return false;
		} else
		{
			return true;
		}
		return true;
	}

	function salvarEmail()
	{
		if(validarEmail())
		{
			var id = document.getElementById("id_email").value;

			if(id)
			{
				var contents = xml_data.getElementsByTagName("PEmail");

				contents[id].getElementsByTagName("tipo")[0].text 		= document.getElementById("frm_tipoEmail").value;
				contents[id].getElementsByTagName("email")[0].text 		= document.getElementById("frm_email").value;
			}
			else
			{
				var newTreeNode = xml_data.getElementsByTagName("emails")[0];
				var newNode = xml_data.createElement("PEmail");

				var newSubNode = xml_data.createElement("tipo");
				newSubNode.text = document.getElementById("frm_tipoEmail").value;
				newNode.appendChild(newSubNode);

				var newSubNode = xml_data.createElement("email");
				newSubNode.text = document.getElementById("frm_email").value;
				newNode.appendChild(newSubNode);

				newTreeNode.appendChild(newNode);
			}

			resetarEmailForm();
			ocultarFormulario("emailForm");
			carregarEmails();
		}
	}

	function removerEmail(id)
	{
		if (confirm("Tem certeza que deseja remover este item?"))
		{
			obj = document.getElementById(active_form)
			if (obj)
				ocultarFormulario(active_form);

			var contents = xml_data.getElementsByTagName("PEmail");

			// salva o xml removed para exclusão
			var objs = xml_data.getElementsByTagName("emails");
			var newNode = objs[0].getElementsByTagName("removed")[0];
			if (!newNode)
				var newNode = xml_data.createElement("removed");

			var id_removido = contents[id].getElementsByTagName("id");
			if (id_removido.length)
			{
				var newSubNode = xml_data.createElement("item");
				newSubNode.text = id_removido[0].text;
				newNode.appendChild(newSubNode);

				objs[0].appendChild(newNode);
			}

			contents[id].parentNode.removeChild(contents[id]);
			carregarEmails();
		}
	}

	//Contas Bancárias
	function carregarContas()
	{
		var contas = document.getElementById("contas");

		if (contas)
		{
			if (contas.rows.length > 2)
			{
				var count = contas.rows.length - 2;
				for (i=0; i < count; i++)
					contas.deleteRow(1);
			}

			var contents = xml_data.getElementsByTagName("PConta");
			for (var j=0; j < contents.length; j++)
			{
				var banco		= pegaRotulo(contents[j].getElementsByTagName("id_pbanco")[0].text, "PBanco");
				var agencia 	= contents[j].getElementsByTagName("agencia")[0].text;
				var agenciadv	= contents[j].getElementsByTagName("agenciadv")[0].text;
				var conta 		= contents[j].getElementsByTagName("conta")[0].text;
				var contadv 	= contents[j].getElementsByTagName("contadv")[0].text;

				var acoes = "<a href=javascript:editarConta(" + j + ")>[Editar]</a> ";
				acoes += "<a href=javascript:removerConta(" + j + ")>[Remover]</a>";

				var row = contas.insertRow((contas.rows.length - 1));

				var cell = row.insertCell(0);
				cell.style.verticalAlign = "top";
				cell.innerHTML = acoes;

				var cell = row.insertCell(1);
				cell.style.verticalAlign = "top";
				cell.innerHTML = banco;

				var cell = row.insertCell(2);
				cell.style.verticalAlign = "top";
				cell.innerHTML = agencia + "-" + agenciadv;

				var cell = row.insertCell(3);
				cell.style.verticalAlign = "top";
				cell.innerHTML = conta + "-" + contadv;
			}
		}
	}

	function resetarContaForm()
	{
		obj = document.getElementById("id_conta");
		obj.value = "";

		obj = document.getElementById("frm_banco");
		obj.value = "";

		obj = document.getElementById("frm_agencia");
		obj.value = "";

		obj = document.getElementById("frm_agencia_dv");
		obj.value = "";

		obj = document.getElementById("frm_conta");
		obj.value = "";

		obj = document.getElementById("frm_conta_dv");
		obj.value = "";
	}

	function editarConta(id)
	{
		mostrarFormulario("contaForm");
		resetarContaForm();

		var contents = xml_data.getElementsByTagName("PConta");

		obj = document.getElementById("id_conta");
		obj.value = id;

		obj = document.getElementById("frm_banco");
		obj.value = contents[id].getElementsByTagName("id_pbanco")[0].text;

		obj = document.getElementById("frm_agencia");
		obj.value = contents[id].getElementsByTagName("agencia")[0].text;

		obj = document.getElementById("frm_agencia_dv");
		obj.value = contents[id].getElementsByTagName("agenciadv")[0].text;

		obj = document.getElementById("frm_conta");
		obj.value = contents[id].getElementsByTagName("conta")[0].text;

		obj = document.getElementById("frm_conta_dv");
		obj.value = contents[id].getElementsByTagName("contadv")[0].text;
	}

	function validarConta()
	{
		var banco       = document.getElementById('frm_banco');
		var agencia     = document.getElementById('frm_agencia');
		var agencia_dv  = document.getElementById('frm_agencia_dv');
		var conta       = document.getElementById('frm_conta');
		var conta_dv    = document.getElementById('frm_conta_dv');

		if(banco.value == "")
		{
			window.alert('É obrigatório informar o Banco.');
			banco.focus();
			return false;
		} else
		if(agencia.value == "")
		{
			window.alert('É obrigatório informar a número da Agência.');
			agencia.focus();
			return false;
		} else
		if(agencia_dv.value == "")
		{
			window.alert('É obrigatório informar o Dígito Verificador da Agência. \n\r Quando não existir digito digite 0 ou X');
			agencia_dv.focus();
			return false;
		} else
		if(conta.value == "")
		{
			window.alert('É obrigatório informar o número da Conta.');
			conta.focus();
			return false;
		} else
		if(conta_dv.value == "")
		{
			window.alert('É obrigatório informar o Dígito Verificador da Conta. \n\r Quando não existir digito digite 0 ou X');
			conta_dv.focus();
			return false;
		} else
		{
			return true;
		}

	}

	function salvarConta()
	{
		if (validarConta())
		{
			var id = document.getElementById("id_conta").value;

			if(id)
			{
				var contents = xml_data.getElementsByTagName("PConta");

				contents[id].getElementsByTagName("id_pbanco")[0].text 	= document.getElementById("frm_banco").value;
				contents[id].getElementsByTagName("agencia")[0].text 	= document.getElementById("frm_agencia").value;
				contents[id].getElementsByTagName("agenciadv")[0].text 	= document.getElementById("frm_agencia_dv").value;
				contents[id].getElementsByTagName("conta")[0].text 		= document.getElementById("frm_conta").value;
				contents[id].getElementsByTagName("contadv")[0].text 	= document.getElementById("frm_conta_dv").value;
			}
			else
			{
				var newTreeNode = xml_data.getElementsByTagName("contas")[0];
				var newNode = xml_data.createElement("PConta");

				var newSubNode = xml_data.createElement("id_pbanco");
				newSubNode.text = document.getElementById("frm_banco").value;
				newNode.appendChild(newSubNode);

				var newSubNode = xml_data.createElement("agencia");
				newSubNode.text = document.getElementById("frm_agencia").value;
				newNode.appendChild(newSubNode);

				var newSubNode = xml_data.createElement("agenciadv");
				newSubNode.text = document.getElementById("frm_agencia_dv").value;
				newNode.appendChild(newSubNode);

				var newSubNode = xml_data.createElement("conta");
				newSubNode.text = document.getElementById("frm_conta").value;
				newNode.appendChild(newSubNode);

				var newSubNode = xml_data.createElement("contadv");
				newSubNode.text = document.getElementById("frm_conta_dv").value;
				newNode.appendChild(newSubNode);

				newTreeNode.appendChild(newNode);
			}

			resetarContaForm();
			ocultarFormulario("contaForm");
			carregarContas();
		}
	}

	function removerConta(id)
	{
		if (confirm("Tem certeza que deseja remover este item?"))
		{
			obj = document.getElementById(active_form)
			if (obj)
				ocultarFormulario(active_form);

			var contents = xml_data.getElementsByTagName("PConta");

			// salva o xml removed para exclusão
			var objs = xml_data.getElementsByTagName("contas");
			var newNode = objs[0].getElementsByTagName("removed")[0];
			if (!newNode)
				var newNode = xml_data.createElement("removed");

			var id_removido = contents[id].getElementsByTagName("id");
			if (id_removido.length)
			{
				var newSubNode = xml_data.createElement("item");
				newSubNode.text = id_removido[0].text;
				newNode.appendChild(newSubNode);

				objs[0].appendChild(newNode);
			}

			contents[id].parentNode.removeChild(contents[id]);
			carregarContas();
		}
	}
	//Histórico Profissional
	function validarTipo()
	{
		obj = document.getElementById("form_tipoHistorico");
		if (obj.value == 2 || obj.value == "")
		{
			document.getElementById("form_servidor").value=0;
			document.getElementById("form_servidor").disabled = true;
			validarServicoPublico();
		}
		else
		{
			document.getElementById("form_servidor").value=1;
			document.getElementById("form_servidor").disabled = false;
			validarServicoPublico();
		}
	}

	function mudarPublicoPrivado()
	{
		document.getElementById("form_cod_empresa").value = "";
		document.getElementById("form_empresa_privada").value = "";
		document.getElementById("form_empresa_publica").value = "";
		validarServicoPublico();
		validarEmpregoAtual();
	}

	function validarServicoPublico()
	{
		div_orgao = document.getElementById("orgao_publico");
		div_privada = document.getElementById("empresa_privada");

		if (document.getElementById("form_servidor").value==0)
		{
			document.getElementById("form_tipopublico").value = 0;
	        document.getElementById("form_tipopublico").disabled=true;
	        document.getElementById("form_poder").value = 0;
			document.getElementById("form_poder").disabled=true;
			document.getElementById("form_esfera").value = "";
			document.getElementById("form_esfera").disabled=true;
			document.getElementById("form_siape").disabled=true;
			document.getElementById("form_cargocomissionado").value = "";
			document.getElementById("form_cargocomissionado").disabled=true;

			div_orgao.style.visibility = "hidden";
			div_orgao.style.display = "none";
			div_privada.style.visibility = "visible";
			div_privada.style.display = "block";
		}
		else if (document.getElementById("form_servidor").value==1)
		{
	        document.getElementById("form_tipopublico").disabled=false;
			document.getElementById("form_poder").disabled=false;
			document.getElementById("form_esfera").disabled=false;
			document.getElementById("form_esfera").value = "";
			document.getElementById("form_siape").disabled=false;
			document.getElementById("form_cargocomissionado").disabled=false;

			div_orgao.style.visibility = "visible";
			div_orgao.style.display = "block";
			div_privada.style.visibility = "hidden";
			div_privada.style.display = "none";
		}

		checarEsfera();
	}

	function checarEsfera()
	{
		if (document.getElementById("form_esfera").value==1)
		{
			document.getElementById("form_cargocomissionado").disabled=false;

		}else
		{
			document.getElementById("form_cargocomissionado").value="";
			document.getElementById("form_cargocomissionado").disabled=true;
		}
	}

	function validarEmpregoAtual()
	{
		obj = document.getElementById("form_empregoatual");

		if (obj.value == 1 || obj.value == "")
		{

			document.getElementById("form_dia_saida").value="";
			document.getElementById("form_ano_saida").value="";
			document.getElementById("form_dia_saida").disabled=true;
			document.getElementById("form_mes_saida").disabled=true;
			document.getElementById("form_ano_saida").disabled=true;
		}
		else
		{
			document.getElementById("form_dia_saida").disabled=false;
			document.getElementById("form_mes_saida").disabled=false;
			document.getElementById("form_ano_saida").disabled=false;
		}
	}

	function mostrarDica(div_id)
	{
		var obj = document.getElementById(div_id);
		obj.style.visibility = "visible";
		obj.style.display = "block";
	}

	function ocultarDica(div_id)
	{
		var obj = document.getElementById(div_id);
		obj.style.visibility = "hidden";
		obj.style.display = "none";
	}

	// função para abrir a busca da instrituição
	function abreInstituicao()
	{
		var campoInstituicao = document.getElementById("instituicao");
		var comboInstituicao = document.getElementById("frm_instituicao");

		campoInstituicao.value = "";
		comboInstituicao.innerHTML = "";

		obj = document.getElementById('form_busca_instituicao');
		if (obj)
		{
			ocultarFormulario('form_busca_instituicao');
		}
		active_form = 'form_busca_instituicao';

		obj = document.getElementById('form_busca_instituicao');
		obj.style.display = "block";
		obj.style.visibility = "visible";
	}
	// Validar a busca da instituição
	function validarProcura()
	{
		var strbusca = document.getElementById('instituicao');
		if (strbusca.value.length < 3)
		{
			alert("Você deve digitar pelo menos três caracteres.");
			return false;
		} else
		{
			return true;
		}
	}

	// fazer busca das instituições
	function carregarInstituicao()
	{
		if(validarProcura()){
			var dados = "<metodo>pesquisarPessoaJuridica</metodo>";
			dados += "<nome>" + document.getElementById("instituicao").value + "</nome>";

			ws.getData("ControlePessoaJuridica", dados, retornarCarregarInstituicao);
		}
	}

	// calback para a busca das instituições
	function retornarCarregarInstituicao()
	{
		xml_instituicao = getResponseXML();

		//<nome>Instituição</nome>
		var combo = document.getElementById("frm_instituicao");
		if (combo)
		{
			combo.innerHTML = "";
			var dados = xml_instituicao.getElementsByTagName("result");
			var nome = dados[0].getElementsByTagName("nome");
			var id = dados[0].getElementsByTagName("id");

			if(nome.length < 1)
			{
				window.alert("Nenhum resultado encontrado.");
				return false;
			}

			for (i=0; i< nome.length; i++)
			{
				if (browserType=="ie")
				{
					var obj = new Option();
					combo.add(obj);
					obj.innerText = nome[i].text;
					obj.value = id[i].text +"||"+ nome[i].text;
				}
				else
				{
					var obj = new Option(nome[i].text, id[i].text +"||"+ nome[i].text, false, false);
					combo.appendChild(obj);
				}
			}
		}
	}

	// FUNÇÃO PARA SELECIONAR A INSTITUIÇÃO BUSCADA PELO USUÁRIO
	function selecionarInstituicao(valor)
	{
		var partes 			 = valor.split("||");
		var id 				 = partes[0];
		var label 		     = partes[1];
		var form_empresa     = document.getElementById("form_empresa_publica");
		var form_cod_empresa = document.getElementById("form_cod_empresa");
		var combo = document.getElementById("frm_instituicao");

		form_cod_empresa.value   = id;
		form_empresa.value       = label;

		ocultarFormulario('form_busca_instituicao');
		combo.innerHTML = "";

	}

	// FUNÇÃO PARA CARREGAR HISTORICO PROFISSIONAL
	function carregarHistoricosProfissionais()
	{
		var historicosprofissionais = document.getElementById("historicosprofissionais");

		if (historicosprofissionais)
		{
			if (historicosprofissionais.rows.length > 2)
			{
				var count = historicosprofissionais.rows.length - 2;
				for (i=0; i < count; i++)
					historicosprofissionais.deleteRow(1);
			}

			var contents = xml_data.getElementsByTagName("PHistoricoProfissional");
			for (var j=0; j < contents.length; j++)
			{
				var empregoatual 		= pegaRotulo(contents[j].getElementsByTagName("empregoatual")[0].text, "PBooleano");
				var empresa 			= contents[j].getElementsByTagName("empresa")[0].text;
				var cargo 				= contents[j].getElementsByTagName("cargo")[0].text;
				var nivel 				= contents[j].getElementsByTagName("nivel")[0].text;
				var dataentrada			= formataData(contents[j].getElementsByTagName("dataentrada")[0].text);
				var datasaida			= formataData(contents[j].getElementsByTagName("datasaida")[0].text);
				var tipo				= pegaRotulo(contents[j].getElementsByTagName("tipo")[0].text, "PBooleano");
				var atividades			= contents[j].getElementsByTagName("atividades")[0].text;
				var servidor			= pegaRotulo(contents[j].getElementsByTagName("servidor")[0].text, "PBooleano");
				var poder				= pegaRotulo(contents[j].getElementsByTagName("poder")[0].text, "PPoder");
				var esfera				= pegaRotulo(contents[j].getElementsByTagName("esfera")[0].text, "PEsfera");
				var siape				= contents[j].getElementsByTagName("siape")[0].text;
				var cargocomissionado	= pegaRotulo(contents[j].getElementsByTagName("cargocomissionado")[0].text, "PCargoComissionado");
				var tipopublico			= pegaRotulo(contents[j].getElementsByTagName("tipopublico")[0].text, "PTipoServidor");
				var chefe				= contents[j].getElementsByTagName("chefe")[0].text;
				var cargochefe			= contents[j].getElementsByTagName("cargochefe")[0].text;
				var telefonechefe		= contents[j].getElementsByTagName("telefonechefe")[0].text;
				var emailchefe			= contents[j].getElementsByTagName("emailchefe")[0].text;

				var historicoprofissional = "Emprego Atual: " + empregoatual + "<br>";
				historicoprofissional += "Empresa: " + empresa + "<br>";
				historicoprofissional += "Cargo: " + cargo + "<br>";
				historicoprofissional += "Nivel: " + nivel + "<br>";
				historicoprofissional += "Data Entrada: " + dataentrada + "<br>";
				if (empregoatual == "Não") historicoprofissional += "Data Sa&iacute;da: " + datasaida + "<br>";
				if (servidor == "Sim") historicoprofissional += "Servidor P&uacute;blico: " + servidor + "<br>";
				if (poder) historicoprofissional += "Poder: " + poder + "<br>";
				if (esfera) historicoprofissional += "Esfera: " + esfera + "<br>";
				if (siape) historicoprofissional += "Siape: " + siape + "<br>";
				if (cargocomissionado) historicoprofissional += "Fun&ccedil;&atilde;o: " + cargocomissionado + "<br>";
				if (tipopublico) historicoprofissional += "Tipo: " + tipopublico + "<br>";
				if (chefe) historicoprofissional += "Nome da Chefia: " + chefe + "<br>";
				if (cargochefe) historicoprofissional += "Cargo Chefia: " + cargochefe + "<br>";
				if (telefonechefe) historicoprofissional += "Telefone Chefia: " + telefonechefe + "<br>";
				if (emailchefe) historicoprofissional += "Email Chefia: " + emailchefe + "<br>";
				historicoprofissional += "Atividades: " + atividades + "<br>";

				var acoes = "<a href=javascript:editarHistoricoProfissional(" + j + ")>[Editar]</a> ";
				acoes += "<a href=javascript:removerHistoricoProfissional(" + j + ")>[Remover]</a>";

				var row = historicosprofissionais.insertRow((historicosprofissionais.rows.length - 1));

				var cell = row.insertCell(0);
				cell.style.verticalAlign = "top";
				cell.innerHTML = acoes;

				var cell = row.insertCell(1);
				cell.style.verticalAlign = "top";
				cell.innerHTML = historicoprofissional;
			}
		}
	}

	// FUNÇÃO PARA RESETAR HISTORICO PROFISSIONAL
	function resetarHistoricoProfissionalForm()
	{
		obj = document.getElementById("id_historicoprofissional");
		obj.value = "";
		obj = document.getElementById("form_tipoHistorico");
		obj.value = "";
		obj = document.getElementById("form_empregoatual");
		obj.value = "";
		obj = document.getElementById("form_cod_empresa");
		obj.value = "";
		obj = document.getElementById("form_empresa_publica");
		obj.value = "";
		obj = document.getElementById("form_empresa_privada");
		obj.value = "";
		obj = document.getElementById("form_cargo");
		obj.value = "";
		obj = document.getElementById("form_nivel");
		obj.value = "";
		obj = document.getElementById("form_dia_entrada");
		obj.value = "";
		obj = document.getElementById("form_mes_entrada");
		obj.value = "";
		obj = document.getElementById("form_ano_entrada");
		obj.value = "";
		obj = document.getElementById("form_dia_saida");
		obj.value = "";
		obj = document.getElementById("form_mes_saida");
		obj.value = "";
		obj = document.getElementById("form_ano_saida");
		obj.value = "";
		obj = document.getElementById("form_atividades");
		obj.value = "";
		obj = document.getElementById("form_servidor");
		obj.value = "";
		obj = document.getElementById("form_poder");
		obj.value = "";
		obj = document.getElementById("form_esfera");
		obj.value = "";
		obj = document.getElementById("form_siape");
		obj.value = "";
		obj = document.getElementById("form_cargocomissionado");
		obj.value = "";
		obj = document.getElementById("form_tipopublico");
		obj.value = "";
		obj = document.getElementById("form_chefe");
		obj.value = "";
		obj = document.getElementById("form_cargochefe");
		obj.value = "";
		obj = document.getElementById("form_telefonechefe");
		obj.value = "";
		obj = document.getElementById("form_emailchefe");
		obj.value = "";
	}

	// FUNÇÃO PARA EDITAR O HISTORICO PROFISSIONAL
	function editarHistoricoProfissional(id)
	{
		mostrarFormulario("historicoProfissionalForm");
		resetarHistoricoProfissionalForm();

		var contents = xml_data.getElementsByTagName("PHistoricoProfissional");

		obj = document.getElementById("id_historicoprofissional");
		obj.value = id;

		obj = document.getElementById("form_tipoHistorico");
		obj.value = contents[id].getElementsByTagName("tipo")[0].text;

		obj = document.getElementById("form_empregoatual");
		obj.value = contents[id].getElementsByTagName("empregoatual")[0].text;

		if (contents[id].getElementsByTagName("servidor")[0].text == 1)
		{
			obj = document.getElementById("form_empresa_publica");
			obj.value = contents[id].getElementsByTagName("empresa")[0].text;

			obj = document.getElementById("form_cod_empresa");
			obj.value = contents[id].getElementsByTagName("id_ppessoajuridica")[0].text;
		}
		else
		{
			obj = document.getElementById("form_empresa_privada");
			obj.value = contents[id].getElementsByTagName("empresa")[0].text;
		}

		obj = document.getElementById("form_cargo");
		obj.value = contents[id].getElementsByTagName("cargo")[0].text;

		obj = document.getElementById("form_nivel");
		obj.value = contents[id].getElementsByTagName("nivel")[0].text;

		var dataentrada = contents[id].getElementsByTagName("dataentrada")[0].text;

		obj = document.getElementById("form_dia_entrada");
		obj.value = dataentrada.substr(8,2);

		obj = document.getElementById("form_mes_entrada");
		obj.value = dataentrada.substr(5,2);

		obj = document.getElementById("form_ano_entrada");
		obj.value = dataentrada.substr(0,4);;

		var datasaida = contents[id].getElementsByTagName("datasaida")[0].text;

		obj = document.getElementById("form_dia_saida");
		obj.value = datasaida.substr(8,2);

		obj = document.getElementById("form_mes_saida");
		obj.value = datasaida.substr(5,2);

		obj = document.getElementById("form_ano_saida");
		obj.value = datasaida.substr(0,4);

		obj = document.getElementById("form_atividades");
		obj.value = contents[id].getElementsByTagName("atividades")[0].text;

		obj = document.getElementById("form_servidor");
		obj.value = contents[id].getElementsByTagName("servidor")[0].text;

		obj = document.getElementById("form_poder");
		obj.value = contents[id].getElementsByTagName("poder")[0].text;

		obj = document.getElementById("form_esfera");
		obj.value = contents[id].getElementsByTagName("esfera")[0].text;

		obj = document.getElementById("form_siape");
		obj.value = contents[id].getElementsByTagName("siape")[0].text;

		obj = document.getElementById("form_cargocomissionado");
		obj.value = contents[id].getElementsByTagName("cargocomissionado")[0].text;

		obj = document.getElementById("form_tipopublico");
		obj.value = contents[id].getElementsByTagName("tipopublico")[0].text;

		obj = document.getElementById("form_chefe");
		obj.value = contents[id].getElementsByTagName("chefe")[0].text;

		obj = document.getElementById("form_cargochefe");
		obj.value = contents[id].getElementsByTagName("cargochefe")[0].text;

		obj = document.getElementById("form_telefonechefe");
		obj.value = contents[id].getElementsByTagName("telefonechefe")[0].text;

		obj = document.getElementById("form_emailchefe");
		obj.value = contents[id].getElementsByTagName("emailchefe")[0].text;

		//Aplica regras de edição, baseado no dados carregados
		//se for servidor público mostra os campos corretos, senão, bloqueia edição
		validarServicoPublico();
		//se for emprego atual bloqueia edição do campo saída
		validarEmpregoAtual();
		//se for tipo autonomo, não pode ser Servidor Público
		validarTipo();
	}

	// FUNÇÃO APRA VALIDAR O HISTORICO PROFISSIONAL
	function validarHistoricoProfissional()
	{
		var servidor		  = document.getElementById('form_servidor');
		var empresapublica    = document.getElementById('form_empresa_publica');
		var empresaprivada    = document.getElementById('form_empresa_privada');
		var cargo             = document.getElementById('form_cargo');
		var empregoatual      = document.getElementById('form_empregoatual');

		if(servidor.value == 0 && empresaprivada.value == "")
		{
			window.alert("É obrigatório informar o nome da Instituição.");
			empresaprivada.focus();
			return false;
		} else if(servidor.value == 1 && empresapublica.value == "")
		{
			window.alert("É obrigatório informar o nome da Instituição.");
			empresapublica.focus();
			return false;
		} else if(cargo.value == "")
		{
			window.alert("É obrigatório informar o cargo ocupado.");
			cargo.focus();
			return false;
		} else if(empregoatual.value == 0)
		{
			if(!validarDatas())
			{
				return false;
			} else
			{
				return true;
			}
		} else if(empregoatual.value == 1)
		{
			if(!validarDatas())
			{
				return false;
			} else
			{
				return true;
			}
		} else
		{
			return true;
		}
	}

	// validar data de entrada e saida
	function validarDatas()
	{
		var empregoatual      = document.getElementById('form_empregoatual');
		var entradadia        = document.getElementById('form_dia_entrada');
		var entradames        = document.getElementById('form_mes_entrada');
		var entradaano        = document.getElementById('form_ano_entrada');
		var saidadia          = document.getElementById('form_dia_saida');
		var saidames          = document.getElementById('form_mes_saida');
		var saidaano          = document.getElementById('form_ano_saida');

		// se não for o emprego atual
		if(empregoatual.value == 0)
		{
			if(entradadia.value == "" || entradames.value == "" || entradaano.value == "")
			{
				window.alert("É obrigatório informar a data de entrada no cargo.");
				entradadia.focus();
				return false;
			} else if(entradadia.value != "" && entradames.value != "" && entradaano.value != "")
			{
				if(saidadia.value == "" || saidames.value == "" || saidaano.value == "")
				{
					window.alert("É obrigatório informar a data de saída se emprego não é o atual.");
					saidadia.focus();
					return false;
				} else
				{
					return true;
				}
			} else {
				return true;
			}
		} else if(empregoatual.value == 1)
		{
			if(entradadia.value == "" || entradames.value == "" || entradaano.value == "")
			{
				window.alert("É obrigatório informar a data de entrada no cargo.");
				entradadia.focus();
				return false;
			} else
			{
				return true;
			}
		} else
		{
			return true;
		}
	}

	// FUNÇÃO PARA SALVAR O HISTORICO PROFISSIONAL
	function salvarHistoricoProfissional()
	{
		if (validarHistoricoProfissional())
		{
			var id = document.getElementById("id_historicoprofissional").value;

			if(id)
			{

				var contents = xml_data.getElementsByTagName("PHistoricoProfissional");

				if (document.getElementById("form_servidor").value == 1)
				{
					contents[id].getElementsByTagName("empresa")[0].text			= document.getElementById("form_empresa_publica").value;
					contents[id].getElementsByTagName("id_ppessoajuridica")[0].text	= document.getElementById("form_cod_empresa").value;
				}
				else
				{
					contents[id].getElementsByTagName("empresa")[0].text			= document.getElementById("form_empresa_privada").value;
				}

				contents[id].getElementsByTagName("empregoatual")[0].text			= document.getElementById("form_empregoatual").value;
				contents[id].getElementsByTagName("cargo")[0].text					= document.getElementById("form_cargo").value;
				contents[id].getElementsByTagName("nivel")[0].text					= document.getElementById("form_nivel").value;
				contents[id].getElementsByTagName("dataentrada")[0].text			= document.getElementById("form_ano_entrada").value + "-" + document.getElementById("form_mes_entrada").value + "-" + document.getElementById("form_dia_entrada").value;
				contents[id].getElementsByTagName("datasaida")[0].text				= document.getElementById("form_ano_saida").value + "-" + document.getElementById("form_mes_saida").value + "-" + document.getElementById("form_dia_saida").value;
				contents[id].getElementsByTagName("tipo")[0].text					= document.getElementById("form_tipoHistorico").value;
				contents[id].getElementsByTagName("atividades")[0].text				= document.getElementById("form_atividades").value;
				contents[id].getElementsByTagName("servidor")[0].text				= document.getElementById("form_servidor").value;
				contents[id].getElementsByTagName("poder")[0].text					= document.getElementById("form_poder").value;
				contents[id].getElementsByTagName("esfera")[0].text					= document.getElementById("form_esfera").value;
				contents[id].getElementsByTagName("siape")[0].text					= document.getElementById("form_siape").value;
				contents[id].getElementsByTagName("cargocomissionado")[0].text		= document.getElementById("form_cargocomissionado").value;
				contents[id].getElementsByTagName("tipopublico")[0].text			= document.getElementById("form_tipopublico").value;
				contents[id].getElementsByTagName("chefe")[0].text					= document.getElementById("form_chefe").value;
				contents[id].getElementsByTagName("cargochefe")[0].text				= document.getElementById("form_cargochefe").value;
				contents[id].getElementsByTagName("telefonechefe")[0].text			= document.getElementById("form_telefonechefe").value;
				contents[id].getElementsByTagName("emailchefe")[0].text				= document.getElementById("form_emailchefe").value;

			}
			else
			{

				var newTreeNode = xml_data.getElementsByTagName("historicosprofissionais")[0];
				var newNode = xml_data.createElement("PHistoricoProfissional");

				var newSubNode = xml_data.createElement("empregoatual");
				newSubNode.text = document.getElementById("form_empregoatual").value;
				newNode.appendChild(newSubNode);

				if (document.getElementById("form_servidor").value == 1)
				{

					var newSubNode = xml_data.createElement("empresa");
					newSubNode.text = document.getElementById("form_empresa_publica").value;
					newNode.appendChild(newSubNode);

				}
				else
				{

					var newSubNode = xml_data.createElement("empresa");
					newSubNode.text = document.getElementById("form_empresa_privada").value;
					newNode.appendChild(newSubNode);

				}

				var newSubNode = xml_data.createElement("id_ppessoajuridica");
				newSubNode.text = document.getElementById("form_cod_empresa").value;
				newNode.appendChild(newSubNode);

				var newSubNode = xml_data.createElement("cargo");
				newSubNode.text = document.getElementById("form_cargo").value;
				newNode.appendChild(newSubNode);

				var newSubNode = xml_data.createElement("nivel");
				newSubNode.text = document.getElementById("form_nivel").value;
				newNode.appendChild(newSubNode);

				var newSubNode = xml_data.createElement("dataentrada");
				newSubNode.text = document.getElementById("form_ano_entrada").value + "-" + document.getElementById("form_mes_entrada").value + "-" + document.getElementById("form_dia_entrada").value;
				newNode.appendChild(newSubNode);

				var newSubNode = xml_data.createElement("datasaida");
				newSubNode.text = document.getElementById("form_ano_saida").value + "-" + document.getElementById("form_mes_saida").value + "-" + document.getElementById("form_dia_saida").value;
				newNode.appendChild(newSubNode);

				var newSubNode = xml_data.createElement("tipo");
				newSubNode.text = document.getElementById("form_tipoHistorico").value;
				newNode.appendChild(newSubNode);

				var newSubNode = xml_data.createElement("atividades");
				newSubNode.text = document.getElementById("form_atividades").value;
				newNode.appendChild(newSubNode);

				var newSubNode = xml_data.createElement("servidor");
				newSubNode.text = document.getElementById("form_servidor").value;
				newNode.appendChild(newSubNode);

				var newSubNode = xml_data.createElement("poder");
				newSubNode.text = document.getElementById("form_poder").value;
				newNode.appendChild(newSubNode);

				var newSubNode = xml_data.createElement("esfera");
				newSubNode.text = document.getElementById("form_esfera").value;
				newNode.appendChild(newSubNode);

				var newSubNode = xml_data.createElement("siape");
				newSubNode.text = document.getElementById("form_siape").value;
				newNode.appendChild(newSubNode);

				var newSubNode = xml_data.createElement("cargocomissionado");
				newSubNode.text = document.getElementById("form_cargocomissionado").value;
				newNode.appendChild(newSubNode);

				var newSubNode = xml_data.createElement("tipopublico");
				newSubNode.text = document.getElementById("form_tipopublico").value;
				newNode.appendChild(newSubNode);

				var newSubNode = xml_data.createElement("chefe");
				newSubNode.text = document.getElementById("form_chefe").value;
				newNode.appendChild(newSubNode);

				var newSubNode = xml_data.createElement("cargochefe");
				newSubNode.text = document.getElementById("form_cargochefe").value;
				newNode.appendChild(newSubNode);

				var newSubNode = xml_data.createElement("telefonechefe");
				newSubNode.text = document.getElementById("form_telefonechefe").value;
				newNode.appendChild(newSubNode);

				var newSubNode = xml_data.createElement("emailchefe");
				newSubNode.text = document.getElementById("form_emailchefe").value;
				newNode.appendChild(newSubNode);

				newTreeNode.appendChild(newNode);
			}

			resetarHistoricoProfissionalForm();
			ocultarFormulario("historicoProfissionalForm");
			carregarHistoricosProfissionais();

		}
	}

	// FUNÇÃO PARA REMOVER O HISTORICO PROFISSIONAL
	function removerHistoricoProfissional(id)
	{
		if (confirm("Tem certeza que deseja remover este item?"))
		{
			obj = document.getElementById(active_form)
			if (obj)
				ocultarFormulario(active_form);

			var contents = xml_data.getElementsByTagName("PHistoricoProfissional");

			// salva o xml removed para exclusão
			var objs = xml_data.getElementsByTagName("historicosprofissionais");
			var newNode = objs[0].getElementsByTagName("removed")[0];
			if (!newNode)
				var newNode = xml_data.createElement("removed");

			var id_removido = contents[id].getElementsByTagName("id");
			if (id_removido.length)
			{
				var newSubNode = xml_data.createElement("item");
				newSubNode.text = id_removido[0].text;
				newNode.appendChild(newSubNode);

				objs[0].appendChild(newNode);
			}

			contents[id].parentNode.removeChild(contents[id]);
			carregarHistoricosProfissionais();
		}
	}

	// FUNÇÃO PARA CARREGAR AS FORMAÇÕES ACADEMICAS
	function carregarFormacoesAcademicas()
	{
		var formacoesacademicas = document.getElementById("formacoesacademicas");

		if (formacoesacademicas)
		{
			if (formacoesacademicas.rows.length > 2)
			{
				var count = formacoesacademicas.rows.length - 2;
				for (i=0; i < count; i++)
					formacoesacademicas.deleteRow(1);
			}

			var contents = xml_data.getElementsByTagName("PFormacaoAcademica");
			for (var j=0; j < contents.length; j++)
			{
				var tipoformacao	= pegaRotulo(contents[j].getElementsByTagName("tipo")[0].text, "PTipoFormacao");
				var curso 			= contents[j].getElementsByTagName("curso")[0].text;
				var instituicao 	= contents[j].getElementsByTagName("instituicao")[0].text;
				var ano 			= contents[j].getElementsByTagName("ano")[0].text;
				var cidade	 		= contents[j].getElementsByTagName("cidade")[0].text;
				var uf 				= pegaRotulo(contents[j].getElementsByTagName("uf")[0].text, "PUF");
				var pais 			= pegaRotulo(contents[j].getElementsByTagName("pais")[0].text, "PPais");
				var concentracao 	= contents[j].getElementsByTagName("concentracao")[0].text;

				var formacaoacademica = curso + "<br>";
				formacaoacademica += tipoformacao + "<br>";
				formacaoacademica += instituicao + " - " + ano + "<br>";
				formacaoacademica += cidade  + " - " + uf + " - " + pais;

				var acoes = "<a href=javascript:editarFormacaoAcademica(" + j + ")>[Editar]</a> ";
				acoes += "<a href=javascript:removerFormacaoAcademica(" + j + ")>[Remover]</a>";

				var row = formacoesacademicas.insertRow((formacoesacademicas.rows.length - 1));

				var cell = row.insertCell(0);
				cell.style.verticalAlign = "top";
				cell.innerHTML = acoes;

				var cell = row.insertCell(1);
				cell.style.verticalAlign = "top";
				cell.innerHTML = formacaoacademica;
			}
		}
	}

	// FUNÇÃO PARA EDITAR FORMAÇÃO ACADEMICA
	function editarFormacaoAcademica(id)
	{
		mostrarFormulario("frm_formacao");
		resetarFormacaoAcademica();

		var contents = xml_data.getElementsByTagName("PFormacaoAcademica");

		var idf = document.getElementById("frm_formacaoacademica");
		idf.value = id;

		var escolaridade = document.getElementById("frm_tipoformacao");
		escolaridade.value = contents[id].getElementsByTagName("tipo")[0].text;

		var curso = document.getElementById("frm_curso");
		curso.value = contents[id].getElementsByTagName("curso")[0].text;

		var ano = document.getElementById("frm_ano");
		ano.value = contents[id].getElementsByTagName("ano")[0].text;

		var concentracao = document.getElementById("frm_concentracao");
		concentracao.value = contents[id].getElementsByTagName("concentracao")[0].text;

		var instituicao = document.getElementById("frm_instituicao");
		instituicao.value = contents[id].getElementsByTagName("instituicao")[0].text;

		var cidade = document.getElementById("frm_cidade");
		cidade.value = contents[id].getElementsByTagName("cidade")[0].text;

		var uf = document.getElementById("frm_uf");
		uf.value = contents[id].getElementsByTagName("uf")[0].text;

		var pais = document.getElementById("frm_pais");
		pais.value = contents[id].getElementsByTagName("pais")[0].text;

		carregarAreaFormacao();
	}

	function carregarAreaFormacao()
	{
		var dados = "<metodo>identificarItens</metodo>";
		dados += "<parametros>";
		dados += "<item>";
		dados += "<tipo>PArea</tipo>";
		dados += "<valor>" + document.getElementById("frm_concentracao").value + "</valor>";
		dados += "</item>";
		dados += "</parametros>";
		ws.getData("ControleApoio", dados, apresentarAreaFormacao);
	}

	function apresentarAreaFormacao()
	{
		areasxml = getResponseXML().getElementsByTagName("item");
		document.getElementById("frm_concentracaonome").value = areasxml[0].getElementsByTagName("nome")[0].text;;
	}

	// FUNÇÃO PARA VALIDAR OS DADOS FORMAÇÃO ACADEMICA
	function validarFormacaoAcademica()
	{
		var escolaridade     = document.getElementById("frm_tipoformacao");
		var curso            = document.getElementById("frm_curso");
		var ano              = document.getElementById("frm_ano");
		var concentracao     = document.getElementById("frm_concentracaonome");
		var instituicao      = document.getElementById("frm_instituicao");
		var cidade           = document.getElementById("frm_cidade");
		var uf				 = document.getElementById("frm_uf");
		var pais             = document.getElementById("frm_pais");

		var dados = new Array();
		dados[0] = escolaridade;
		dados[1] = curso;
		dados[2] = ano;
		dados[3] = concentracao;
		dados[4] = instituicao;
		dados[5] = cidade;
		dados[6] = uf;
		dados[7] = pais.value;

		for(i = 0; i < dados.length; i++)
		{
			if(dados[i].value == "")
			{
				window.alert("O campo "+ dados[i].title +" é de preenchimento obrigatório");
				dados[i].focus();
				return false;
			}
		}

		return true;
	}

	// FUNÇÃO PARA SALVAR FORMAÇÃO ACADEMICA
	function salvarFormacaoAcademica()
	{
		if (validarFormacaoAcademica())
		{
			var id = document.getElementById("frm_formacaoacademica").value;

			if(id)
			{
				var contents = xml_data.getElementsByTagName("PFormacaoAcademica");

				contents[id].getElementsByTagName("tipo")[0].text  			= document.getElementById("frm_tipoformacao").value;
				contents[id].getElementsByTagName("curso")[0].text 			= document.getElementById("frm_curso").value;
				contents[id].getElementsByTagName("instituicao")[0].text 	= document.getElementById("frm_instituicao").value;
				contents[id].getElementsByTagName("ano")[0].text 			= document.getElementById("frm_ano").value;
				contents[id].getElementsByTagName("cidade")[0].text			= document.getElementById("frm_cidade").value;
				contents[id].getElementsByTagName("uf")[0].text				= document.getElementById("frm_uf").value;
				contents[id].getElementsByTagName("pais")[0].text			= document.getElementById("frm_pais").value;
				contents[id].getElementsByTagName("concentracao")[0].text	= document.getElementById("frm_concentracao").value;
			}
			else
			{
				var newTreeNode = xml_data.getElementsByTagName("formacoesacademicas")[0];
				var newNode = xml_data.createElement("PFormacaoAcademica");

				var newSubNode = xml_data.createElement("tipo");
				newSubNode.text = document.getElementById("frm_tipoformacao").value;
				newNode.appendChild(newSubNode);

				var newSubNode = xml_data.createElement("curso");
				newSubNode.text = document.getElementById("frm_curso").value;
				newNode.appendChild(newSubNode);

				var newSubNode = xml_data.createElement("instituicao");
				newSubNode.text = document.getElementById("frm_instituicao").value;
				newNode.appendChild(newSubNode);

				var newSubNode = xml_data.createElement("ano");
				newSubNode.text = document.getElementById("frm_ano").value;
				newNode.appendChild(newSubNode);

				var newSubNode = xml_data.createElement("cidade");
				newSubNode.text = document.getElementById("frm_cidade").value;
				newNode.appendChild(newSubNode);

				var newSubNode = xml_data.createElement("uf");
				newSubNode.text = document.getElementById("frm_uf").value;
				newNode.appendChild(newSubNode);

				var newSubNode = xml_data.createElement("pais");
				newSubNode.text = document.getElementById("frm_pais").value;
				newNode.appendChild(newSubNode);

				var newSubNode = xml_data.createElement("concentracao");
				newSubNode.text = document.getElementById("frm_concentracao").value;
				newNode.appendChild(newSubNode);

				newTreeNode.appendChild(newNode);
			}

			resetarFormacaoAcademica();
			ocultarFormulario("frm_formacao");
			carregarFormacoesAcademicas();
		}
	}

	// FUNÇÃO PARA REMOVER FORMAÇÃO ACADEMICA
	function removerFormacaoAcademica(id)
	{
		if (confirm("Tem certeza que deseja remover este item?"))
		{
			obj = document.getElementById(active_form)
			if (obj)
				ocultarFormulario(active_form);

			var contents = xml_data.getElementsByTagName("PFormacaoAcademica");

			// salva o xml removed para exclusão
			var objs = xml_data.getElementsByTagName("formacoesacademicas");
			var newNode = objs[0].getElementsByTagName("removed")[0];
			if (!newNode)
				var newNode = xml_data.createElement("removed");

			var id_removido = contents[id].getElementsByTagName("id");
			if (id_removido.length)
			{
				var newSubNode = xml_data.createElement("item");
				newSubNode.text = id_removido[0].text;
				newNode.appendChild(newSubNode);

				objs[0].appendChild(newNode);
			}

			contents[id].parentNode.removeChild(contents[id]);
			carregarFormacoesAcademicas();
			return;
		}
	}

	// funcao para resetar os valores do formulario de formação academica
	function resetarFormacaoAcademica()
	{
		var id               = document.getElementById("frm_formacaoacademica");
		var escolaridade     = document.getElementById("frm_tipoformacao");
		var curso            = document.getElementById("frm_curso");
		var ano              = document.getElementById("frm_ano");
		var concentracao     = document.getElementById("frm_concentracao");
		var idconcentracao   = document.getElementById("frm_concentracao");
		var instituicao      = document.getElementById("frm_instituicao");
		var cidade           = document.getElementById("frm_cidade");
		var uf				 = document.getElementById("frm_uf");
		var pais             = document.getElementById("frm_pais");

		id.value = "";
		escolaridade.value = "";
		curso.value = "";
		ano.value = "";
		concentracao.value = "";
		idconcentracao.value = ""
		instituicao.value = "";
		cidade.value = "";
		uf.value = "";
		pais.value = "";
	}

	//Capacitações Externas
	function carregarCapacitacoesExternas()
	{
		var capacitacoesexternas = document.getElementById("capacitacoesexternas");

		if (capacitacoesexternas)
		{
			if (capacitacoesexternas.rows.length > 2)
			{
				var count = capacitacoesexternas.rows.length - 2;
				for (i=0; i < count; i++)
					capacitacoesexternas.deleteRow(1);
			}

			var contents = xml_data.getElementsByTagName("PCapacitacaoExterna");
			for (var j = 0; j < contents.length; j++)
			{
				var tipo			= pegaRotulo(contents[j].getElementsByTagName("tipo")[0].text, "PTipo");
				var evento 			= contents[j].getElementsByTagName("evento")[0].text;
				var instituicao 	= contents[j].getElementsByTagName("instituicao")[0].text;
				var anoconclusao 	= contents[j].getElementsByTagName("anoconclusao")[0].text;
				var cargahoraria	= contents[j].getElementsByTagName("cargahoraria")[0].text;

				var capacitacaoexterna = evento + "<br>";
				capacitacaoexterna += tipo + "<br>";
				capacitacaoexterna += instituicao + " - " + anoconclusao + "<br>";
				capacitacaoexterna += cargahoraria  + " horas";

				var acoes = "<a href=javascript:editarCapacitacaoExterna(" + j + ");>[Editar]</a> ";
				acoes += "<a href=javascript:removerCapacitacaoExterna(" + j + ");>[Remover]</a>";

				var row = capacitacoesexternas.insertRow((capacitacoesexternas.rows.length - 1));

				var cell = row.insertCell(0);
				cell.style.verticalAlign = "top";
				cell.innerHTML = acoes;

				var cell = row.insertCell(1);
				cell.style.verticalAlign = "top";
				cell.innerHTML = capacitacaoexterna;
			}
		}
	}

	// FUNÇÃO PARA EDITAR CAPACITAÇÃO EXTERNA
	function editarCapacitacaoExterna(id)
	{
		mostrarFormulario("frm_capacitacaoexterna");
		resetarCapacitacaoExterna();

		var contents = xml_data.getElementsByTagName("PCapacitacaoExterna");

		var idcapacitacao	= document.getElementById("capacitacaoexterna");
		var tipoevento		= document.getElementById("frm_tipoevento");
		var evento     		= document.getElementById("frm_evento");
		var anoconclusao	= document.getElementById("frm_ano");
		var cargahoraria	= document.getElementById("frm_cargahoraria");
		var instituicao     = document.getElementById("frm_instituicao");

		idcapacitacao.value	= id;
		tipoevento.value	= contents[id].getElementsByTagName("tipo")[0].text;
		evento.value		= contents[id].getElementsByTagName("evento")[0].text;
		anoconclusao.value	= contents[id].getElementsByTagName("anoconclusao")[0].text;
		cargahoraria.value	= contents[id].getElementsByTagName("cargahoraria")[0].text;
		instituicao.value	= contents[id].getElementsByTagName("instituicao")[0].text;
	}

	// FUNÇÃO PARA VALIDAR OS DADOS DA CAPACITAÇÃO EXTERNA
	function validarCapacitacaoExterna()
	{
		var tipoevento		= document.getElementById("frm_tipoevento");
		var evento     		= document.getElementById("frm_evento");
		var anoconclusao	= document.getElementById("frm_ano");
		var cargahoraria	= document.getElementById("frm_cargahoraria");
		var instituicao     = document.getElementById("frm_instituicao");

		var dados = new Array();
		dados[0] = tipoevento.value;
		dados[1] = evento.value;
		dados[2] = anoconclusao.value;
		dados[3] = cargahoraria.value;
		dados[4] = instituicao.value;

		for(i = 0; i < dados.length; i++)
		{
			if(dados[i] == "")
			{
				alert("Todos os campos são obrigatórios para Adicionar uma Capacitação Externa!");
				return false;
			}
		}

		return true;
	}

	// FUNÇÃO PARA SALVAR CAPACITAÇÃO EXTERNA
	function salvarCapacitacaoExterna()
	{
		if (validarCapacitacaoExterna())
		{
			var id = document.getElementById("capacitacaoexterna").value;
			if(id)
			{
				var contents = 	xml_data.getElementsByTagName("PCapacitacaoExterna");

				contents[id].getElementsByTagName("tipo")[0].text 			= document.getElementById("frm_tipoevento").value;
				contents[id].getElementsByTagName("evento")[0].text 		= document.getElementById("frm_evento").value;
				contents[id].getElementsByTagName("instituicao")[0].text	= document.getElementById("frm_instituicao").value;
				contents[id].getElementsByTagName("anoconclusao")[0].text	= document.getElementById("frm_ano").value;
				contents[id].getElementsByTagName("cargahoraria")[0].text   = document.getElementById("frm_cargahoraria").value;

			}
			else
			{
				var newTreeNode = xml_data.getElementsByTagName("capacitacoesexternas")[0];
				var newNode = xml_data.createElement("PCapacitacaoExterna");

				var newSubNode = xml_data.createElement("evento");
				newSubNode.text = document.getElementById("frm_evento").value;
				newNode.appendChild(newSubNode);

				var newSubNode = xml_data.createElement("anoconclusao");
				newSubNode.text = document.getElementById("frm_ano").value;
				newNode.appendChild(newSubNode);

				var newSubNode = xml_data.createElement("tipo");
				newSubNode.text = document.getElementById("frm_tipoevento").value;
				newNode.appendChild(newSubNode);

				var newSubNode = xml_data.createElement("instituicao");
				newSubNode.text = document.getElementById("frm_instituicao").value;
				newNode.appendChild(newSubNode);

				var newSubNode = xml_data.createElement("cargahoraria");
				newSubNode.text = document.getElementById("frm_cargahoraria").value;
				newNode.appendChild(newSubNode);

				newTreeNode.appendChild(newNode);
			}

			resetarCapacitacaoExterna();
			ocultarFormulario('frm_capacitacaoexterna');
			carregarCapacitacoesExternas();
		}
	}

	// FUNÇÃO PARA REMOVER CAPACITAÇÃO EXTERNA
	function removerCapacitacaoExterna(id)
	{
		if (confirm("Tem certeza que deseja remover este item?"))
		{
			obj = document.getElementById(active_form)
			if (obj)
				ocultarFormulario(active_form);

			var contents = xml_data.getElementsByTagName("PCapacitacaoExterna");

			// salva o xml removed para exclusão
			var objs = xml_data.getElementsByTagName("capacitacoesexternas");
			var newNode = objs[0].getElementsByTagName("removed")[0];
			if (!newNode)
				var newNode = xml_data.createElement("removed");

			var id_removido = contents[id].getElementsByTagName("id");
			if (id_removido.length)
			{
				var newSubNode = xml_data.createElement("item");
				newSubNode.text = id_removido[0].text;
				newNode.appendChild(newSubNode);

				objs[0].appendChild(newNode);
			}

			contents[id].parentNode.removeChild(contents[id]);
			carregarCapacitacoesExternas();
			return;
		}
	}

	//Capacitações ENAP
	function carregarCapacitacoesENAP()
	{
		var capacitacoesenap = document.getElementById("capacitacoesenap");

		if (capacitacoesenap)
		{
			if (capacitacoesenap.rows.length > 1)
			{
				var count = capacitacoesenap.rows.length - 1;
				for (i=0; i < count; i++)
					capacitacoesenap.deleteRow(1);
			}

			var contents = xml_data.getElementsByTagName("PCapacitacaoENAP");
			for (var j=0; j < contents.length; j++)
			{
				if (contents[j].getElementsByTagName("statusaluno")[0].text != "Apagado")
				{
					var modulonome 		= contents[j].getElementsByTagName("modulonome")[0].text;
					var turmanome 		= contents[j].getElementsByTagName("turmanome")[0].text;
					var cargahoraria 	= contents[j].getElementsByTagName("cargahoraria")[0].text;
					var datainicio		= formataData(contents[j].getElementsByTagName("datainicio")[0].text);
					var datafim 		= formataData(contents[j].getElementsByTagName("datafim")[0].text);
					var statusaluno 	= contents[j].getElementsByTagName("statusaluno")[0].text;
					var statusturma 	= contents[j].getElementsByTagName("statusturma")[0].text;

					var capacitacaoenap = modulonome + "<br>";
					capacitacaoenap += turmanome + "<br>";
					capacitacaoenap += cargahoraria + " horas<br>";
					if (datainicio != datafim)
						capacitacaoenap += "Realizada de " + datainicio + " a " + datafim + "<br>";
					else
						capacitacaoenap += "Realizada em " + datainicio + "<br>";
					capacitacaoenap += statusaluno + "<br>";
					capacitacaoenap += statusturma;

					var row = capacitacoesenap.insertRow(capacitacoesenap.rows.length);

					var cell = row.insertCell(0);
					cell.style.verticalAlign = "top";
					cell.innerHTML = capacitacaoenap;
				}
			}
		}
	}

	// resetar capacitacoes Externas
	function resetarCapacitacaoExterna()
	{
		var id				= document.getElementById("capacitacaoexterna");
		var tipoevento		= document.getElementById("frm_tipoevento");
		var evento     		= document.getElementById("frm_evento");
		var anoconclusao	= document.getElementById("frm_ano");
		var cargahoraria	= document.getElementById("frm_cargahoraria");
		var instituicao     = document.getElementById("frm_instituicao");

		id.value			= ""
		tipoevento.value 	= "";
		evento.value 		= "";
		anoconclusao.value 	= "";
		cargahoraria.value 	= "";
		instituicao.value 	= "";
	}

	// FUNÇÃO PARA CARREGAR OS DADOS ADICIONAIS
	function carregarContatosAdicionais()
	{
		var contatosadicionais = document.getElementById("contatosadicionais");

		if (contatosadicionais)
		{
			if (contatosadicionais.rows.length > 2)
			{
				var count = contatosadicionais.rows.length - 2;
				for (i=0; i < count; i++)
					contatosadicionais.deleteRow(1);
			}

			var contents = xml_data.getElementsByTagName("PContatoAdicional");
			for (var j=0; j < contents.length; j++)
			{
				var tipo		= pegaRotulo(contents[j].getElementsByTagName("tipo")[0].text, "PTipo");
				var nome 		= contents[j].getElementsByTagName("nome")[0].text;
				var email 		= contents[j].getElementsByTagName("email")[0].text;
				var ddi 		= contents[j].getElementsByTagName("ddi")[0].text;
				var ddd			= contents[j].getElementsByTagName("ddd")[0].text;
				var telefone 	= contents[j].getElementsByTagName("telefone")[0].text;

				var contatoadicional = tipo + "<br>";
				contatoadicional += nome + "<br>";
				contatoadicional += email + "<br>";
				contatoadicional += "(" + ddi  + ")(" + ddd + ") " + telefone;

				var acoes = "<a href=javascript:editarContatoAdicional(" + j + ")>[Editar]</a> ";
				acoes += "<a href=javascript:removerContatoAdicional(" + j + ")>[Remover]</a>";

				var row = contatosadicionais.insertRow((contatosadicionais.rows.length - 1));

				var cell = row.insertCell(0);
				cell.style.verticalAlign = "top";
				cell.innerHTML = acoes;

				var cell = row.insertCell(1);
				cell.style.verticalAlign = "top";
				cell.innerHTML = contatoadicional;
			}
		}
	}

	// FUNÇÃO PARA EDITAR O CONTATO ADICIONAL
	function editarContatoAdicional(id)
	{
		mostrarFormulario("frm_contatoadicional");
		resetarContatoAdicional();

		var contents = xml_data.getElementsByTagName("PContatoAdicional");

		var idf = document.getElementById("contatoadicional");
			idf.value = id;

		var tipo = document.getElementById("frm_tipocontato");
			tipo.value = contents[id].getElementsByTagName("tipo")[0].text;

		var nome = document.getElementById("frm_nomecontato");
			nome.value = contents[id].getElementsByTagName("nome")[0].text;

		var email = document.getElementById("frm_emailcontato");
			email.value = contents[id].getElementsByTagName("email")[0].text;

		var ddi = document.getElementById("frm_ddicontato");
			ddi.value = contents[id].getElementsByTagName("ddi")[0].text;

		var ddd = document.getElementById("frm_dddcontato");
			ddd.value = contents[id].getElementsByTagName("ddd")[0].text;

		var telefone = document.getElementById("frm_telefonecontato");
			telefone.value = contents[id].getElementsByTagName("telefone")[0].text;

	}

	// FUNÇÃO PARA VALIDAR O CONTATO ADICIONAL
	function validarContatoAdicional()
	{
		var tipo 		= document.getElementById("frm_tipocontato");
		var nome		= document.getElementById("frm_nomecontato");
		var email		= document.getElementById("frm_emailcontato");
		var ddi			= document.getElementById("frm_ddicontato");
		var ddd			= document.getElementById("frm_dddcontato");
		var telefone	= document.getElementById("frm_telefonecontato");

		var dados = new Array();
		dados[0] = tipo;
		dados[1] = nome;
		dados[2] = email;
		dados[3] = ddi;
		dados[4] = ddd;
		dados[5] = telefone;

		for(j = 0; j < dados.length; j++)
		{
			if(dados[j].value == "")
			{
				window.alert("O campo " + dados[j].title + " é de preenchimento obrigatório.");
				dados[j].focus();
				return false;
			}
		}
		return true;
	}

	// FUNÇÃO PARA SALVAR CONTATO ADICIONAL
	function salvarContatoAdicional()
	{
		if(validarContatoAdicional())
		{
			var id = document.getElementById("contatoadicional").value;
			if(id)
			{
				var contents = 	xml_data.getElementsByTagName("PContatoAdicional");

				contents[id].getElementsByTagName("tipo")[0].text 		= document.getElementById("frm_tipocontato").value;
				contents[id].getElementsByTagName("nome")[0].text 		= document.getElementById("frm_nomecontato").value;
				contents[id].getElementsByTagName("email")[0].text		= document.getElementById("frm_emailcontato").value;
				contents[id].getElementsByTagName("ddi")[0].text		= document.getElementById("frm_ddicontato").value;
				contents[id].getElementsByTagName("ddd")[0].text   		= document.getElementById("frm_dddcontato").value;
				contents[id].getElementsByTagName("telefone")[0].text	= document.getElementById("frm_telefonecontato").value;

			}
			else
			{
				var newTreeNode = xml_data.getElementsByTagName("contatosadicionais")[0];
				var newNode = xml_data.createElement("PContatoAdicional");

				var newSubNode = xml_data.createElement("tipo");
				newSubNode.text = document.getElementById("frm_tipocontato").value;
				newNode.appendChild(newSubNode);

				var newSubNode = xml_data.createElement("nome");
				newSubNode.text = document.getElementById("frm_nomecontato").value;
				newNode.appendChild(newSubNode);

				var newSubNode = xml_data.createElement("email");
				newSubNode.text = document.getElementById("frm_emailcontato").value;
				newNode.appendChild(newSubNode);

				var newSubNode = xml_data.createElement("ddi");
				newSubNode.text = document.getElementById("frm_ddicontato").value;
				newNode.appendChild(newSubNode);

				var newSubNode = xml_data.createElement("ddd");
				newSubNode.text = document.getElementById("frm_dddcontato").value;
				newNode.appendChild(newSubNode);

				var newSubNode = xml_data.createElement("telefone");
				newSubNode.text = document.getElementById("frm_telefonecontato").value;
				newNode.appendChild(newSubNode);

				newTreeNode.appendChild(newNode);
			}

			resetarContatoAdicional();
			ocultarFormulario('frm_contatoadicional');
			carregarContatosAdicionais();
		}
	}

	// FUNÇÃO PARA REMOVER CONTATO ADICIONAL
	function removerContatoAdicional(id)
	{
		if (confirm("Tem certeza que deseja remover este item?"))
		{
			obj = document.getElementById(active_form)
			if (obj)
				ocultarFormulario(active_form);

			var contents = xml_data.getElementsByTagName("PContatoAdicional");

			// salva o xml removed para exclusão
			var objs = xml_data.getElementsByTagName("contatosadicionais");
			var newNode = objs[0].getElementsByTagName("removed")[0];
			if (!newNode)
				var newNode = xml_data.createElement("removed");

			var id_removido = contents[id].getElementsByTagName("id");
			if (id_removido.length)
			{
				var newSubNode = xml_data.createElement("item");
				newSubNode.text = id_removido[0].text;
				newNode.appendChild(newSubNode);

				objs[0].appendChild(newNode);
			}

			contents[id].parentNode.removeChild(contents[id]);
			carregarContatosAdicionais();
			return;
		}
	}

	// resetar contato adicional
	function resetarContatoAdicional()
	{
		var id 			= document.getElementById("contatoadicional");
		var tipo 		= document.getElementById("frm_tipocontato");
		var nome		= document.getElementById("frm_nomecontato");
		var email		= document.getElementById("frm_emailcontato");
		var ddi			= document.getElementById("frm_ddicontato");
		var ddd			= document.getElementById("frm_dddcontato");
		var telefone	= document.getElementById("frm_telefonecontato");

		id.value 		= "";
		tipo.value 		= "";
		nome.value		= "";
		email.value		= "";
		ddi.value		= "";
		ddd.value		= "";
		telefone.value	= "";
	}

	// FUNÇÃO PARA CARREGAR AS URLs
	function carregarUrls()
	{
		var urls = document.getElementById("urls");

		if (urls)
		{
			if (urls.rows.length > 2)
			{
				var count = urls.rows.length - 2;
				for (i=0; i < count; i++)
					urls.deleteRow(1);
			}

			var contents = xml_data.getElementsByTagName("PUrl");
			for (var j=0; j < contents.length; j++)
			{
				var tipo		= pegaRotulo(contents[j].getElementsByTagName("tipo")[0].text, "PTipo");
				var url 		= contents[j].getElementsByTagName("url")[0].text;

				var url = tipo + " - " + url;

				var acoes = "<a href=javascript:editarUrl(" + j + ")>[Editar]</a> ";
				acoes += "<a href=javascript:removerUrl(" + j + ")>[Remover]</a>";

				var row = urls.insertRow((urls.rows.length - 1));

				var cell = row.insertCell(0);
				cell.style.verticalAlign = "top";
				cell.innerHTML = acoes;

				var cell = row.insertCell(1);
				cell.style.verticalAlign = "top";
				cell.innerHTML = url;
			}
		}
	}

	// FUNÇÃO PARA EDITAR AS URLS
	function editarUrl(id)
	{
		mostrarFormulario("frm_urlformulario");
		resetarUrl();

		var contents = xml_data.getElementsByTagName("PUrl");

		var idurl = document.getElementById("id_url");
			idurl.value = id;

		var tipo = document.getElementById("frm_tipourl");
			tipo.value = contents[id].getElementsByTagName("tipo")[0].text;

		var url = document.getElementById("frm_url");
			url.value = contents[id].getElementsByTagName("url")[0].text;
	}

	// FUNÇÃO PARA VALIDAR OS DADOS DA URL
	function validarUrl()
	{
		var tipo = document.getElementById("frm_tipourl");
		var url	 = document.getElementById("frm_url");

		if(tipo.value == "")
		{
			window.alert("O campo Tipo é de preenchimento obrigótorio.");
			tipo.focus();
			return false;
		}
		else
		if(url.value == "")
		{
			window.alert("O campo URL é de preenchimento obrigótorio.");
			url.focus();
			return false;
		}
		else
		{
			return true;
		}
	}

	// FUNÇÃO PARA SALVAR A URL
	function salvarUrl()
	{
		if(validarUrl())
		{
			var id = document.getElementById("id_url").value;
			if(id)
			{
				var contents = 	xml_data.getElementsByTagName("PUrl");

				contents[id].getElementsByTagName("tipo")[0].text	= document.getElementById("frm_tipourl").value;
				contents[id].getElementsByTagName("url")[0].text	= document.getElementById("frm_url").value;
			}else
			{
				var newTreeNode = xml_data.getElementsByTagName("urls")[0];
				var newNode = xml_data.createElement("PUrl");

				var newSubNode = xml_data.createElement("tipo");
				newSubNode.text = document.getElementById("frm_tipourl").value;
				newNode.appendChild(newSubNode);

				var newSubNode = xml_data.createElement("url");
				newSubNode.text = document.getElementById("frm_url").value;
				newNode.appendChild(newSubNode);

				newTreeNode.appendChild(newNode);
			}

			resetarUrl();
			ocultarFormulario('frm_urlformulario');
			carregarUrls();
		}
	}

	// FUNÇÃO PARA REMOVER A URL
	function removerUrl(id)
	{
		if (confirm("Tem certeza que deseja remover este item?"))
		{
			obj = document.getElementById(active_form)
			if (obj)
				ocultarFormulario(active_form);

			var contents = xml_data.getElementsByTagName("PUrl");

			// salva o xml removed para exclusão
			var objs = xml_data.getElementsByTagName("urls");
			var newNode = objs[0].getElementsByTagName("removed")[0];
			if (!newNode)
				var newNode = xml_data.createElement("removed");

			var id_removido = contents[id].getElementsByTagName("id");
			if (id_removido.length)
			{
				var newSubNode = xml_data.createElement("item");
				newSubNode.text = id_removido[0].text;
				newNode.appendChild(newSubNode);

				objs[0].appendChild(newNode);
			}

			contents[id].parentNode.removeChild(contents[id]);
			carregarUrls();
			return;
		}
	}

	// FUNÇÃO PARA RESETAR URL
	function resetarUrl()
	{
		var id 		= document.getElementById("id_url");
		var tipo 	= document.getElementById("frm_tipourl");
		var url		= document.getElementById("frm_url");

		id.value	= "";
		tipo.value	= "";
		url.value	= "";
	}

	// função para permitir que somente numeros sejam digitados nos campos
	function somenteNumeros(quem, e, dec)
	{
		var key;
		var keychar;

		if (window.event)
		{
			key = window.event.keyCode;
		}
		else if (e)
		{
			key = e.which;
		}
		else
		{
			return true;
		}

		keychar = String.fromCharCode(key);

		// controle das teclas
		if ((key==null) || (key==0) || (key==8) || (key==9) || (key==27) )
		{
			return true;
		}

		// numeros
		else if ((("0123456789").indexOf(keychar) > -1))
		{
			return true;
		}

		// permite teclas adicionais passadas como parametros
		else if (dec && (dec == keychar))
		{
			return true;
		}
		else
		{
			return false;
		}
	}

	// FUNÇÃO PARA REGISTAR OS ITENS REMOVIDOS
	function registrarRemovidos(id, qual)
	{
		var id_removido = id;

		var objs = xml_data.getElementsByTagName(qual);
		var newNode = objs[0].getElementsByTagName("removed")[0];

		if (!newNode)
			var newNode = xml_data.createElement("removed");

		var id_removido = contents[id].getElementsByTagName("id")[0].text;

		if (id_removido)
		{
			var newSubNode = xml_data.createElement("item");
			newSubNode.text = id_removido;
			newNode.appendChild(newSubNode);

			objs[0].appendChild(newNode);
		}
	}

	// FUNÇÃO PARA CONVERTER DE SPECIALCHARS PARA HTML
	function converteParaHTML(texto)
	{
		texto = texto.replace(/\&lt\;/g, "<");
		texto = texto.replace(/\&gt\;/g, ">");

		return texto;
	}
