
/* NÃO APAGAR - Pedro Rosa 10-12-2010
function mostrarFilhosSistemasGestao() {
	var gestaoEstrategica;
	var leanService;
	var qualidade;
	var ambiente;
	var seguranca;
	var responsabilidadeSocial;
	var segurancaAlimentar;
	var visivel;
	
	visivel = document.getElementById("visivel").value;
	gestaoEstrategica = document.getElementById("gestaoEstrategica");
	leanService = document.getElementById("leanService");
	qualidade = document.getElementById("qualidade");
	ambiente = document.getElementById("ambiente");
	seguranca = document.getElementById("seguranca");
	responsabilidadeSocial = document.getElementById("responsabilidadeSocial");
	segurancaAlimentar = document.getElementById("segurancaAlimentar");
	if (visivel == "true") {
		gestaoEstrategica.style.display = "none";
		leanService.style.display = "none";
		qualidade.style.display = "none";
		ambiente.style.display = "none";
		seguranca.style.display = "none";
		responsabilidadeSocial.style.display = "none";
		segurancaAlimentar.style.display = "none";
		document.getElementById("visivel").value = "false";
	}
	else {
		gestaoEstrategica.style.display = "";
		leanService.style.display = "";
		qualidade.style.display = "";
		ambiente.style.display = "";
		seguranca.style.display = "";
		responsabilidadeSocial.style.display = "";
		segurancaAlimentar.style.display = "";
		document.getElementById("visivel").value = "true";
	}
}
*/

//Função responsável por limpar as m8ensagens de erro no formulário de pedido de informações.
function LimparCampos() {
	document.getElementById("msgErroEntidade").innerHTML = "";
	document.getElementById("msgErroMorada").innerHTML = "";
	document.getElementById("msgErroTelefone").innerHTML = "";
	document.getElementById("msgErroFax").innerHTML = "";
	document.getElementById("msgErroEmail").innerHTML = "";
	document.getElementById("msgErroCAE").innerHTML = "";
	document.getElementById("msgErroPessoaContacto").innerHTML = "";
}

//Função responsável por ao clicar no link "Pedir informações" dentro do menu "Serviços", enviar o utilizador para a página "Pedir informações" 
//seja qual for a língua seleccionada.
function enviaPaginaPedidoInformacoes(idForm) {
	document.getElementById(idForm).submit();
}

//Função responsável por quando o utilizador clica no logotipo da Índice vai ser enviado para a página inicial do site
function enviaPaginaGlobal(idForm) {
	document.getElementById(idForm).submit();
}

//Função responsável por seleccionar ou desseleccionar no serviço "Organização e gestão", a área "Implementação de sistemas de gestão".
function verificaNoPaiConsultoria(checkbox) {
	if (checkbox.checked == true)
		document.getElementById("consultoriaSistemasGestao").checked = true;
	else {
		if (document.getElementById("consultoriaGestaoEstrategica").checked == true)
			return;
		if (document.getElementById("consultoriaLeanService").checked == true)
			return;
		if (document.getElementById("consultoriaQualidade").checked == true)
			return;
		if (document.getElementById("consultoriaAmbiente").checked == true)
			return;
		if (document.getElementById("consultoriaSeguranca").checked == true)
			return;
		if (document.getElementById("consultoriaResponsabilidadeSocial").checked == true)
			return;
		if (document.getElementById("consultoriaSegurancaAlimentar").checked == true)
			return;
		
		document.getElementById("consultoriaSistemasGestao").checked = false;
	}
}

//Função responsável por verificar no serviço de "Organização e gestão", se algum dos filhos da área "Implementação de sistemas de gestão" está seleccionado.
function verificaNosFilhosConsultoria(checkbox) {
	if (checkbox.checked == false) {
		if (document.getElementById("consultoriaGestaoEstrategica").checked == true) {
			checkbox.checked = true;
			return;
		}
		if (document.getElementById("consultoriaLeanService").checked == true) {
			checkbox.checked = true;
			return;
		}
		if (document.getElementById("consultoriaQualidade").checked == true) {
			checkbox.checked = true;
			return;
		}
		if (document.getElementById("consultoriaAmbiente").checked == true) {
			checkbox.checked = true;
			return;
		}
		if (document.getElementById("consultoriaSeguranca").checked == true) {
			checkbox.checked = true;
			return;
		}
		if (document.getElementById("consultoriaResponsabilidadeSocial").checked == true) {
			checkbox.checked = true;
			return;
		}
		if (document.getElementById("consultoriaSegurancaAlimentar").checked == true) {
			checkbox.checked = true;
			return;
		}
	}
}



/********************************************************************************
	FUNÇÕES REFERENTES AO PEDIDO DE PRÉ-ADESÃO A PROJECTOS
********************************************************************************/

//Função responsável por registar um pedido de pré-adesão na base de dados da índice.
function RegistarPedidoPreAdesao() {
	var pedido;
	var url;
	var projectos = "";
	
	if (CamposPedidoPreAdesaoValidados() == true) {
		projectos = getProjectosPreAdesaoSeleccionados();
		pedido = getComandoSQLPedidoPreAdesaoProjectos(projectos);
		url = "http://81.193.123.194/informacoes/ExecuteQuery.asp?sql1=" + pedido + "&ret=http://www.indice-consultores.pt/portugal_64-57,pré-adesão-a-projectos.html";
		
		if (url == "") {
			alert("O endereço para submeter o pedido de pré-adesão não existe.");
			return false;
		}
		else {
			document.getElementById("pedidoPreAdesao").action = url;
			document.getElementById("pedidoPreAdesao").submit();
			alert('Pedido de pré-adesão registado com sucesso.\nBrevemente irá ser contactado(a).');
			
			return true;
		}
	}
	else
		return false;
}

//Função que verifica se os campos do formulário do pedido de pré-adesão estão devidamente preenchidos.
function CamposPedidoPreAdesaoValidados() {
	var validou = true;
	var checkboxes;
	var i = 0;
	
	//Projectos
	checkboxes = document.getElementsByName("projectos");	//Obtenho as checkboxes com os projectos
	for (i = 0; i < checkboxes.length; i++) {	//Percorro a lista de checkboxes
		if (checkboxes[i].checked == 1) {	//Se a checkbox estiver seleccionada
			validou = true;	//Altero o valor da flag
			document.getElementById("msgErroProjectos").innerHTML = "";	//Limpo a mensagem.
			
			break;	//Saio do ciclo do for, porque bastar ter 1 projecto seleccionado
		}
		else	//A checkbox não está seleccionada
			validou = false;	//Altero o valor da flag
	}
	
	//Projectos conjuntos
	if (validou == false) {	//Não está nenhum projecto seleccionado, logo vou verificar se está algum projecto conjunto seleccionado
		checkboxes = document.getElementsByName("projectosConjuntos");	//Obtenho as checkboxes com os projectos conjuntos
		for (i = 0; i < checkboxes.length; i++) {	//Percorro a lista de checkboxes
			if (checkboxes[i].checked == 1) {	//Se a checkbox estiver seleccionada
				validou = true;	//Altero o valor da flag
				document.getElementById("msgErroProjectos").innerHTML = "";	//Limpo a mensagem.
				
				break;	//Saio do ciclo do for, porque bastar ter 1 projecto conjunto seleccionado
			}
			else	//A checkbox não está seleccionada
				validou = false;	//Altero o valor da flag
		}
	}
	
	if (validou == false)	//Se no final de verificar as checkboxes não estiver nenhuma seleccionada
		document.getElementById("msgErroProjectos").innerHTML = "É necessário seleccionar no mínimo 1 projecto.";	//Escrevo a mensagem
	
	//Nome da empresa
	if (trimString(document.getElementById("nomeEmpresa").value) == "") {
		document.getElementById("msgErroNomeEmpresa").innerHTML = "Preencha o nome da empresa.";
		validou = false;
	}
	else
		document.getElementById("msgErroNomeEmpresa").innerHTML = "";
	
	//Localidade
	if (trimString(document.getElementById("localidade").value) == "") {
		document.getElementById("msgErroLocalidade").innerHTML = "Preencha a localidade da empresa.";
		validou = false;
	}
	else
		document.getElementById("msgErroLocalidade").innerHTML = "";
	
	//Telefone da empresa
	if (isInteger(document.getElementById("telefone").value) == false) {
		document.getElementById("msgErroTelefone").innerHTML = "O telefone é composto somente por dígitos.";
		validou = false;
	}
	else if ((document.getElementById("telefone").value).length < 9) {
		document.getElementById("msgErroTelefone").innerHTML = "O telefone tem de ter no mínimo 9 dígitos.";
		validou = false;
	}
	else
		document.getElementById("msgErroTelefone").innerHTML = ""
	
	//Pessoa na empresa para posterior contacto
	if (trimString(document.getElementById("pessoaContacto").value) == "") {
		document.getElementById("msgErroPessoaContacto").innerHTML = "Preencha o nome da pessoa para posterior contacto.";
		validou = false;
	}
	else
		document.getElementById("msgErroPessoaContacto").innerHTML = ""
	
	//Telefone / Telemóvel da pessoa
	if (isInteger(document.getElementById("telefTelem").value) == false) {
		document.getElementById("msgErroTelefTelem").innerHTML = "O telef./telem. é composto somente por dígitos.";
		validou = false;
	}
	else if ((document.getElementById("telefTelem").value).length < 9) {
		document.getElementById("msgErroTelefTelem").innerHTML = "O telef./telem. tem de ter no mínimo 9 dígitos.";
		validou = false;
	}
	else
		document.getElementById("msgErroTelefTelem").innerHTML = ""
	
	//E-mail
	if (isEmail(document.getElementById("email").value) == false){
		document.getElementById("msgErroEmail").innerHTML = "Preencha o e-mail no seguinte formato 'utilizador@domínio'.";
		validou = false;
	}
	else
		document.getElementById("msgErroEmail").innerHTML = "";
	
	return validou;
}

//Função que obtém o nome dos projectos seleccionados.
function getProjectosPreAdesaoSeleccionados() {
	var projectos = "", retorno = "", projectosConjuntos = "";
	var checkboxes;
	var i = 0;
	
	//Projectos simples
	checkboxes = document.getElementsByName("projectos");
	for (i = 0; i < checkboxes.length; i++) {
		if (checkboxes[i].checked == 1) {
			if (projectos != "")
				projectos += ", ";
			projectos += checkboxes[i].value;
		}
	}
	
	if (projectos != "") {
		projectos = "Projecto(s): " + projectos;
		retorno = projectos;
	}
	
	//Projectos conjuntos
	checkboxes = document.getElementsByName("projectosConjuntos");
	for (i = 0; i < checkboxes.length; i++) {
		if (checkboxes[i].checked == 1) {
			if (projectosConjuntos != "")
				projectosConjuntos += ", ";
			projectosConjuntos += checkboxes[i].value;
		}
	}
	
	if (projectosConjuntos != "") {
		projectosConjuntos = "Projecto(s) conjunto(s): " + projectosConjuntos;
		if (retorno == "")
			retorno = projectosConjuntos;
		else
			retorno += " ; " + projectosConjuntos;
	}
	
	return retorno;
}

//Função responsável por criar o comando SQL para inserir os dados na tabela na base de dados.
function getComandoSQLPedidoPreAdesaoProjectos(projectos) {
	var comando = "";
	
	comando = "INSERT INTO PreAdesaoProjectos (Projecto, Empresa, Localidade, Telefone, PessoaParaContacto, TelefTelemPessoaContacto, Email) VALUES ('";
	comando += trataParaURL(projectos) + "','";
	comando += trataParaURL(document.getElementById("nomeEmpresa").value) + "','";
	comando += trataParaURL(document.getElementById("localidade").value) + "','";
	comando += trataParaURL(document.getElementById("telefone").value) + "','";
	comando += trataParaURL(document.getElementById("pessoaContacto").value) + "','";
	comando += trataParaURL(document.getElementById("telefTelem").value) + "','";
	comando += trataParaURL(document.getElementById("email").value) + "')";

	return comando;
}

//Função responsável por limpar os campos do formulário do pedido de pré-adesão a projectos
function LimparFormularioPreAdesao() {
	document.getElementById("msgErroProjectos").innerHTML = "";
	document.getElementById("msgErroNomeEmpresa").innerHTML = "";
	document.getElementById("msgErroLocalidade").innerHTML = "";
	document.getElementById("msgErroTelefone").innerHTML = "";
	document.getElementById("msgErroPessoaContacto").innerHTML = "";
	document.getElementById("msgErroTelefTelem").innerHTML = "";
	document.getElementById("msgErroEmail").innerHTML = "";
}

/********************************************************************************
	FINAL DAS FUNÇÕES REFERENTES AO PEDIDO DE PRÉ-ADESÃO A PROJECTOS
********************************************************************************/



/********************************************************************************
	FUNÇÕES REFERENTES AO PEDIDO DE INFORMAÇÕES EM PORTUGUÊS
********************************************************************************/

//Função principal responsável por verificar se os dados para efectuar o pedido de informações em Português foram introduzidos correctamente
function submeter() {
	var pedido;
	var url;
	var servicosSeleccionados = "";
	var areasSeleccionadas = "";
	
	if (valida() == true) {
		areasSeleccionadas = getAreasSeleccionadas();	
		servicosSeleccionados = getServicosSeleccionados(1);
		pedido = getComandoSQL(areasSeleccionadas, servicosSeleccionados);
		url = "http://81.193.123.194/informacoes/ExecuteQuery.asp?sql1=" + pedido + "&ret=http://www.indice-consultores.pt/portugal_64-82,pedido-de-informações.html";
		
		if (url == "") {
			alert("O endereço para submeter o pedido de informações não existe.");
			return false;
		}
		else {
			document.getElementById("Formulario").action = url;
			//document.getElementById("Formulario").submit();
			alert('Pedido registado com sucesso.\nBrevemente irá ser contactado.');
			
			return true;
		}
	}
	else
		return false;
	
}

//Função responsável por verificar a correcta introdução dos dados em Português.
function valida() {
	var validou = true;
	
	//Nome da empresa
	if (trimString(document.getElementById("empresa").value) == "") {
		document.getElementById("msgErroEntidade").innerHTML = "Preencha o nome da empresa.";
		validou = false;
	}
	else
		document.getElementById("msgErroEntidade").innerHTML = "";
	
	//Morada da empresa
	if (trimString(document.getElementById("morada").value) == "") {
		document.getElementById("msgErroMorada").innerHTML = "Preencha a morada da empresa.";
		validou = false;
	}
	else
		document.getElementById("msgErroMorada").innerHTML = "";
	
	//Telefone da empresa
	if (isInteger(document.getElementById("telefone").value) == false) {
		document.getElementById("msgErroTelefone").innerHTML = "O telefone é composto somente por dígitos.";
		validou = false;
	}
	else if ((document.getElementById("telefone").value).length < 9) {
		document.getElementById("msgErroTelefone").innerHTML = "O telefone tem de ter no mínimo 9 dígitos.";
		validou = false;
	}
	else
		document.getElementById("msgErroTelefone").innerHTML = ""
	
	//Fax da empresa
	if (isInteger(document.getElementById("fax").value) == false) {
		document.getElementById("msgErroFax").innerHTML = "O fax é composto somente por dígitos.";
		validou = false;
	}
	else if ((document.getElementById("fax").value).length < 9) {
		document.getElementById("msgErroFax").innerHTML = "O fax tem de ter no mínimo 9 dígitos.";
		validou = false;
	}
	else
		document.getElementById("msgErroFax").innerHTML = ""
	
	//E-mail
	if (isEmail(document.getElementById("email").value) == false){
		document.getElementById("msgErroEmail").innerHTML = "Preencha o e-mail no seguinte formato 'utilizador@domínio'.";
		validou = false;
	}
	else
		document.getElementById("msgErroEmail").innerHTML = "";
	
	//CAE
	if (isInteger(document.getElementById("cae").value) == false) {
		document.getElementById("msgErroCAE").innerHTML = "O CAE é composto somente por dígitos.";
		validou = false;
	}
	else
		document.getElementById("msgErroCAE").innerHTML = "";
	
	//Pessoa de contacto
	if (trimString(document.getElementById("pessoaContacto").value) == "") {
		document.getElementById("msgErroPessoaContacto").innerHTML = "Preencha o nome da pessoa para posterior contacto.";
		validou = false;
	}
	else
		document.getElementById("msgErroPessoaContacto").innerHTML = "";
	
	return validou;
}

/********************************************************************************
	FINAL DAS FUNÇÕES REFERENTES AO PEDIDO DE INFORMAÇÕES EM PORTUGUÊS
********************************************************************************/



/********************************************************************************
	FUNÇÕES REFERENTES AO PEDIDO DE INFORMAÇÕES EM INGLÊS
********************************************************************************/

//Função principal responsável por verificar se os dados para efectuar o pedido de informações em Inglês foram introduzidos correctamente
function submeterInformacoesIngles() {
	var pedido = "";
	var url = "";
	var servicosSeleccionados = "";
	var areasSeleccionadas = "";

	if (validaCamposIngles() == true) {
		areasSeleccionadas = getAreasSeleccionadas();	
		servicosSeleccionados = getServicosSeleccionados(2);
		pedido = getComandoSQL(areasSeleccionadas, servicosSeleccionados);
		url = "http://81.193.123.194/informacoes/ExecuteQuery.asp?sql1=" + pedido + "&ret=http://www.indice-consultores.com/english_37-40,info-request.html";
		
		if (url == "") {
			alert("O endereço para submeter o pedido de informações não existe.");
			return false;
		}
		else {
			document.getElementById("Formulario").action = url;
			document.getElementById("Formulario").submit();
			alert('Info request successfully submitted.\nYou will be contacted shortly.');
			
			return true;
		}
	}
	else
		return false;
}

//Função responsável por verificar a correcta introdução dos dados em Inglês.
function validaCamposIngles() {
	var validou = true;
	
	//Nome da empresa
	if (trimString(document.getElementById("empresa").value) == "") {
		document.getElementById("msgErroEntidade").innerHTML = "Fullfill the name of the Company.";
		validou = false;
	}
	else
		document.getElementById("msgErroEntidade").innerHTML = "";
	
	//Morada da empresa
	if (trimString(document.getElementById("morada").value) == "") {
		document.getElementById("msgErroMorada").innerHTML = "Fulfill the adress of the Company.";
		validou = false;
	}
	else
		document.getElementById("msgErroMorada").innerHTML = "";
	
	//Telefone da empresa
	if (isInteger(document.getElementById("telefone").value) == false) {
		document.getElementById("msgErroTelefone").innerHTML = "The phone number must contains only digits.";
		validou = false;
	}
	else
		document.getElementById("msgErroTelefone").innerHTML = ""
	
	//Fax da empresa
	if (isInteger(document.getElementById("fax").value) == false) {
		document.getElementById("msgErroFax").innerHTML = "The fax number must contains only digits.";
		validou = false;
	}
	else
		document.getElementById("msgErroFax").innerHTML = ""
	
	//E-mail
	if (isEmail(document.getElementById("email").value) == false){
		document.getElementById("msgErroEmail").innerHTML = "Fullfill email with format \"user@domain\".";
		validou = false;
	}
	else
		document.getElementById("msgErroEmail").innerHTML = "";
	
	//CAE
	if (isInteger(document.getElementById("cae").value) == false) {
		document.getElementById("msgErroCAE").innerHTML = "The Code must contains only digits.";
		validou = false;
	}
	else
		document.getElementById("msgErroCAE").innerHTML = "";
	
	//Pessoa de contacto
	if (trimString(document.getElementById("pessoaContacto").value) == "") {
		document.getElementById("msgErroPessoaContacto").innerHTML = "Fullfill the name of the person for future contact.";
		validou = false;
	}
	else
		document.getElementById("msgErroPessoaContacto").innerHTML = "";
	
	return validou;
}

/********************************************************************************
	FINAL DAS FUNÇÕES REFERENTES AO PEDIDO DE INFORMAÇÕES EM INGLÊS
********************************************************************************/



/********************************************************************************
	FUNÇÕES REFERENTES AO PEDIDO DE INFORMAÇÕES EM POLACO
********************************************************************************/

//Função principal responsável por verificar se os dados para efectuar o pedido de informações em Polaco foram introduzidos correctamente
function submeterInformacoesPolaco() {
	var pedido = "";
	var url = "";
	var servicosSeleccionados = "";
	var areasSeleccionadas = "";
	
	if (validaCamposPolaco() == true) {
		areasSeleccionadas = getAreasSeleccionadas();	
		servicosSeleccionados = getServicosSeleccionados(4);
		pedido = getComandoSQLPolaco(areasSeleccionadas, servicosSeleccionados);
		url = "http://81.193.123.194/informacoes/PL/ExecuteQuery.asp?sql1=" + pedido;
		
		if (url == "") {
			alert("O endereço para submeter o pedido de informações não existe.");
			return false;
		}
		else {
			document.getElementById("Formulario").action = url;
			document.getElementById("Formulario").submit();
			alert('Wniosek pomy?lnie zarejestrowany.\nWkrótce skontaktujemy si? z Tob?.');
			
			return true;
		}
	}
	else
		return false;
}

//Função responsável por verificar a correcta introdução dos dados em Polaco.
function validaCamposPolaco() {
	var validou = true;
	
	//Como o texto vai ser escrito no browser, utilizo os código HTML para os caracteres especiais
	
	//Nome da empresa
	if (trimString(document.getElementById("empresa").value) == "") {
		document.getElementById("msgErroEntidade").innerHTML = "Podaj nazw&#281; Firmy.";
		validou = false;
	}
	else
		document.getElementById("msgErroEntidade").innerHTML = "";
	
	//Morada da empresa
	if (trimString(document.getElementById("morada").value) == "") {
		document.getElementById("msgErroMorada").innerHTML = "Podaj adres Firmy.";
		validou = false;
	}
	else
		document.getElementById("msgErroMorada").innerHTML = "";
	
	//Telefone da empresa
	if (isInteger(document.getElementById("telefone").value) == false) {
		document.getElementById("msgErroTelefone").innerHTML = "Numer telefonu musi zawiera&#263; tylko cyfry.";
		validou = false;
	}
	else
		document.getElementById("msgErroTelefone").innerHTML = ""
	
	//Fax da empresa
	if (isInteger(document.getElementById("fax").value) == false) {
		document.getElementById("msgErroFax").innerHTML = "Fax musi zawiera&#263; tylko cyfry.";
		validou = false;
	}
	else
		document.getElementById("msgErroFax").innerHTML = ""
	
	//E-mail
	if (isEmail(document.getElementById("email").value) == false){
		document.getElementById("msgErroEmail").innerHTML = "Podaj adres e-mail w formacie \"U&#380;ytkownik@domena\".";
		validou = false;
	}
	else
		document.getElementById("msgErroEmail").innerHTML = "";
	
	//CAE
	if (isInteger(document.getElementById("cae").value) == false) {
		document.getElementById("msgErroCAE").innerHTML = "Kod musi zawiera&#263; tylko cyfry.";
		validou = false;
	}
	else
		document.getElementById("msgErroCAE").innerHTML = "";
	
	//Pessoa de contacto
	if (trimString(document.getElementById("pessoaContacto").value) == "") {
		document.getElementById("msgErroPessoaContacto").innerHTML = "Podaj nazwisko osoby do kontaktu.";
		validou = false;
	}
	else
		document.getElementById("msgErroPessoaContacto").innerHTML = "";
	
	return validou;
}

//Função responsável por construir o comando SQL para introdução dos dados na base de dados da Polónia.
function getComandoSQLPolaco(areas, servicos) {
	var comando = "";
	
	comando = "INSERT INTO Informacoes (Company, Address, Phone, Email, Fax, CAE, Employees, Contact, [Function], Areas, Services, Observations) VALUES ('";
	comando += trataParaURL(document.getElementById("empresa").value) + "','";
	comando += trataParaURL(document.getElementById("morada").value) + "','";
	comando += trataParaURL(document.getElementById("telefone").value) + "','";
	comando += trataParaURL(document.getElementById("email").value) + "','";
	comando += trataParaURL(document.getElementById("fax").value) + "','";
	comando += trataParaURL(document.getElementById("cae").value) + "','";
	comando += trataParaURL(document.getElementById("numEmpregados").value) + "','";
	comando += trataParaURL(document.getElementById("pessoaContacto").value) + "','";
	comando += trataParaURL(document.getElementById("areaResponsabilidade").value) + "','";
	comando += trataParaURL(areas) + "','";
	comando += trataParaURL(servicos) + "','";
	comando += trataParaURL(document.getElementById("observacoes").value) + "')";

	return comando;
}

/********************************************************************************
	FINAL DAS FUNÇÕES REFERENTES AO PEDIDO DE INFORMAÇÕES EM POLACO
********************************************************************************/



/********************************************************************************
	FUNÇÕES REFERENTES AO PEDIDO DE INFORMAÇÕES EM ROMENO
********************************************************************************/

//Função principal responsável por verificar se os dados para efectuar o pedido de informações em Romeno foram introduzidos correctamente
function submeterInformacoesRomeno() {
	var pedido = "";
	var url = "";
	var servicosSeleccionados = "";
	var areasSeleccionadas = "";
	
	if (validaCamposRomeno() == true) {
		areasSeleccionadas = getAreasSeleccionadas();	
		servicosSeleccionados = getServicosSeleccionados(3);
		pedido = getComandoSQLRomeno(areasSeleccionadas, servicosSeleccionados);
		url = "http://81.193.123.194/informacoes/RO/ExecuteQuery.asp?sql1=" + pedido;
		
		if (url == "") {
			alert("O endereço para submeter o pedido de informações não existe.");
			return false;
		}
		else {
			document.getElementById("Formulario").action = url;
			document.getElementById("Formulario").submit();
			alert('Cererea a fost inregistrata cu succes.\nIn curand veti fi contactat.');
			
			return true;
		}
	}
	else
		return false;
}

//Função responsável por verificar a correcta introdução dos dados em Romeno.
function validaCamposRomeno() {
	var validou = true;
	
	//Nome da empresa
	if (trimString(document.getElementById("empresa").value) == "") {
		document.getElementById("msgErroEntidade").innerHTML = "Completati numele companiei.";
		validou = false;
	}
	else
		document.getElementById("msgErroEntidade").innerHTML = "";
	
	//Morada da empresa
	if (trimString(document.getElementById("morada").value) == "") {
		document.getElementById("msgErroMorada").innerHTML = "Completati adresa companiei.";
		validou = false;
	}
	else
		document.getElementById("msgErroMorada").innerHTML = "";
	
	//Telefone da empresa
	if (isInteger(document.getElementById("telefone").value) == false) {
		document.getElementById("msgErroTelefone").innerHTML = "Numarul de telefon trebuie sa contina doar cifre.";
		validou = false;
	}
	else
		document.getElementById("msgErroTelefone").innerHTML = ""
	
	//Fax da empresa
	if (isInteger(document.getElementById("fax").value) == false) {
		document.getElementById("msgErroFax").innerHTML = "Numarul de fax trebuie sa contina doar cifre.";
		validou = false;
	}
	else
		document.getElementById("msgErroFax").innerHTML = ""
	
	//E-mail
	if (isEmail(document.getElementById("email").value) == false){
		document.getElementById("msgErroEmail").innerHTML = "Completati emailul cu formatul \"user@domain\".";
		validou = false;
	}
	else
		document.getElementById("msgErroEmail").innerHTML = "";
	
	//CAE
	if (isInteger(document.getElementById("cae").value) == false) {
		document.getElementById("msgErroCAE").innerHTML = "Codul trebuie sa contina doar cifre.";
		validou = false;
	}
	else
		document.getElementById("msgErroCAE").innerHTML = "";
	
	//Pessoa de contacto
	if (trimString(document.getElementById("pessoaContacto").value) == "") {
		document.getElementById("msgErroPessoaContacto").innerHTML = "Completati numele persoanei de contact.";
		validou = false;
	}
	else
		document.getElementById("msgErroPessoaContacto").innerHTML = "";
	
	return validou;
}

//Função responsável por construir o comando SQL para introdução dos dados na base de dados da Roménia.
function getComandoSQLRomeno(areas, servicos) {
	var comando = "";
	
	comando = "INSERT INTO Informacoes (Company, Address, Phone, Email, Fax, CAE, Employees, Contact, [Function], Areas, Services, Observations) VALUES ('";
	comando += trataParaURL(document.getElementById("empresa").value) + "','";
	comando += trataParaURL(document.getElementById("morada").value) + "','";
	comando += trataParaURL(document.getElementById("telefone").value) + "','";
	comando += trataParaURL(document.getElementById("email").value) + "','";
	comando += trataParaURL(document.getElementById("fax").value) + "','";
	comando += trataParaURL(document.getElementById("cae").value) + "','";
	comando += trataParaURL(document.getElementById("numEmpregados").value) + "','";
	comando += trataParaURL(document.getElementById("pessoaContacto").value) + "','";
	comando += trataParaURL(document.getElementById("areaResponsabilidade").value) + "','";
	comando += trataParaURL(areas) + "','";
	comando += trataParaURL(servicos) + "','";
	comando += trataParaURL(document.getElementById("observacoes").value) + "')";

	return comando;
}

/********************************************************************************
	FINAL DAS FUNÇÕES REFERENTES AO PEDIDO DE INFORMAÇÕES EM ROMENO
********************************************************************************/



/********************************************************************************
	FUNÇÕES REFERENTES AO PEDIDO DE INFORMAÇÕES EM ESPANHOL
********************************************************************************/

//Função principal responsável por verificar se os dados para efectuar o pedido de informações em Espanhol foram introduzidos correctamente
function submeterInformacoesEspanhol() {
	var pedido = "";
	var url = "";
	var servicosSeleccionados = "";
	var areasSeleccionadas = "";
		
	if (validaCamposEspanhol() == true) {
		areasSeleccionadas = getAreasSeleccionadas();	
		servicosSeleccionados = getServicosSeleccionados(5);
		pedido = getComandoSQL(areasSeleccionadas, servicosSeleccionados);
		url = "http://81.193.123.194/informacoes/ES/ExecuteQuery.asp?sql1=" + pedido;
		
		if (url == "") {
			alert("O endereço para submeter o pedido de informações não existe.");
			return false;
		}
		else {
			document.getElementById("Formulario").action = url;
			document.getElementById("Formulario").submit();
			alert('Formulario debidamente registrado.\nPronto nos comunicaremos con usted.');
			
			return true;
		}
	}
	else
		return false;
}

//Função responsável por verificar a correcta introdução dos dados em Inglês.
function validaCamposEspanhol() {
	var validou = true;
	
	//Nome da empresa
	if (trimString(document.getElementById("empresa").value) == "") {
		document.getElementById("msgErroEntidade").innerHTML = "Rellene el nombre de la empresa.";
		validou = false;
	}
	else
		document.getElementById("msgErroEntidade").innerHTML = "";
	
	//Morada da empresa
	if (trimString(document.getElementById("morada").value) == "") {
		document.getElementById("msgErroMorada").innerHTML = "Rellene la dirección de la empresa.";
		validou = false;
	}
	else
		document.getElementById("msgErroMorada").innerHTML = "";
	
	//Telefone da empresa
	if (isInteger(document.getElementById("telefone").value) == false) {
		document.getElementById("msgErroTelefone").innerHTML = "El teléfono és compuesto únicamente por dígitos.";
		validou = false;
	}
	else
		document.getElementById("msgErroTelefone").innerHTML = ""
	
	//Fax da empresa
	if (isInteger(document.getElementById("fax").value) == false) {
		document.getElementById("msgErroFax").innerHTML = "El fax és compuesto únicamente por dígitos.";
		validou = false;
	}
	else
		document.getElementById("msgErroFax").innerHTML = ""
	
	//E-mail
	if (isEmail(document.getElementById("email").value) == false){
		document.getElementById("msgErroEmail").innerHTML = "Rellene el correo electrónico en el siguiente formato \"usuario@dominio\".";
		validou = false;
	}
	else
		document.getElementById("msgErroEmail").innerHTML = "";
	
	//CAE
	if (isInteger(document.getElementById("cae").value) == false) {
		document.getElementById("msgErroCAE").innerHTML = "El CNAE és compuesto únicamente por dígitos.";
		validou = false;
	}
	else
		document.getElementById("msgErroCAE").innerHTML = "";
	
	//Pessoa de contacto
	if (trimString(document.getElementById("pessoaContacto").value) == "") {
		document.getElementById("msgErroPessoaContacto").innerHTML = "Escriba el nombre de la persona para futuro contacto.";
		validou = false;
	}
	else
		document.getElementById("msgErroPessoaContacto").innerHTML = "";
	
	return validou;
}

/********************************************************************************
	FINAL DAS FUNÇÕES REFERENTES AO PEDIDO DE INFORMAÇÕES EM ESPANHOL
********************************************************************************/



//Função responsável por construir o comando SQL para introdução dos dados na base de dados.
function getComandoSQL(areas, servicos) {
	var comando = "";
	
	comando = "INSERT INTO informacoes (Empresa,Morada,Telefone,Email,FAX,CAE,[Nr Empregados],Contacto,Funcao,Áreas,Serviços,Observações) VALUES ('";
	comando += trataParaURL(document.getElementById("empresa").value) + "','";
	comando += trataParaURL(document.getElementById("morada").value) + "','";
	comando += trataParaURL(document.getElementById("telefone").value) + "','";
	comando += trataParaURL(document.getElementById("email").value) + "','";
	comando += trataParaURL(document.getElementById("fax").value) + "','";
	comando += trataParaURL(document.getElementById("cae").value) + "','";
	comando += trataParaURL(document.getElementById("numEmpregados").value) + "','";
	comando += trataParaURL(document.getElementById("pessoaContacto").value) + "','";
	comando += trataParaURL(document.getElementById("areaResponsabilidade").value) + "','";
	comando += trataParaURL(areas) + "','";
	comando += trataParaURL(servicos) + "','";
	comando += trataParaURL(document.getElementById("observacoes").value) + "')";

	return comando;
}



/********************************************************************************
	FUNÇÕES REFERENTES AO PEDIDO DE INFORMAÇÕES COMUNS ÀS VARIAS LÍNGUAS
********************************************************************************/

//Função responsável por obter a(s) área(s) de cada serviço que foi(foram) seleccionada(s).
function getAreasSeleccionadas() {
	var checkboxes;
	var i = 0;
	var areas = "";
	
	checkboxes = document.getElementById("tabelaServicosAreas").getElementsByTagName("input");
	for (i = 0; i < checkboxes.length; i++) {
		if (checkboxes[i].type == "checkbox") {
			if (checkboxes[i].checked == 1) {
				if (areas != "")
					areas += ", ";
				areas += checkboxes[i]. value;
			}
		}
	}
	
	return areas;
}

//Função responsável por obter o(s) serviço(s) que foi(foram) seleccionado(s): Consultoria, TIC, Formação, Energia, Ambiente e/ou Internacionalização.
function getServicosSeleccionados(lingua) {
	var i = 0;
	var servicos = "";
	var elementos;
	
	//Consultoria
	elementos = document.getElementsByName("consultoria");
	for (i = 0; i < elementos.length; i++) {
		if (elementos[i].type == "checkbox") {
			if (elementos[i].checked == 1) {
				servicos = getOrganizacaoGestaoTraduzido(lingua);
				break;
			}
		}
	}
	
	//TIC
	elementos = document.getElementsByName("tic");
	for (i = 0; i < elementos.length; i++) {
		if (elementos[i].type == "checkbox") {
			if (elementos[i].checked == 1) {
				if (servicos != "")
					servicos += ", ";
				
				servicos += getTICTraduzido(lingua);
				break;
			}
		}
	}
	
	//Formação
	elementos = document.getElementsByName("formacao");
	for (i = 0; i < elementos.length; i++) {
		if (elementos[i].type == "checkbox") {
			if (elementos[i].checked == 1) {
				if (servicos != "")
					servicos += ", ";
					
				servicos += getFormacaoTraduzido(lingua);
				break;
			}
		}
	}
	
	//Internacionalização
	elementos = document.getElementsByName("internacionalizacao");
	for (i = 0; i < elementos.length; i++) {
		if (elementos[i].type == "checkbox") {
			if (elementos[i].checked == 1) {
				if (servicos != "")
					servicos += ", ";
					
				servicos += getInternacionalizacaoTraduzido(lingua);
				break;
			}
		}
	}
	
	//Energia
	elementos = document.getElementsByName("energia");
	for (i = 0; i < elementos.length; i++) {
		if (elementos[i].type == "checkbox") {
			if (elementos[i].checked == 1) {
				if (servicos != "")
					servicos += ", ";
					
				servicos += getEnergiaTraduzido(lingua);
				break;
			}
		}
	}
	
	//Ambiente
	elementos = document.getElementsByName("ambiente");
	for (i = 0; i < elementos.length; i++) {
		if (elementos[i].type == "checkbox") {
			if (elementos[i].checked == 1) {
				if (servicos != "")
					servicos += ", ";
					
				servicos += getAmbienteTraduzido(lingua);
				break;
			}
		}
	}
	
	return servicos;
}

//Função responsável por escrever o serviço Organização e gestão na língua correcta
function getOrganizacaoGestaoTraduzido(lingua) {
	var servico;
	
	switch (lingua) {
		case 1: //Português
			servico = "Organização e gestão";
			break;
		case 2:	//Inglês
			servico = "Organization and management";
			break;
		case 3:	//Romeno
			servico = "Organizare si management";
			break;
		case 4:	//Polaco
			servico = "Organizacja i zarz?dzanie";
			break;
		case 5:	//Espanhol
			servico = "Consultoria";
			break;
	}
	
	return servico;
}

//Função responsável por escrever o serviço TIC na língua correcta
function getTICTraduzido(lingua) {
	var servico;
	
	switch (lingua) {
		case 1: //Português
			servico = "TIC";
			break;
		case 2:	//Inglês
			servico = "ICT";
			break;
		case 3:	//Romeno
			servico = "TIC";
			break;
		case 4:	//Polaco
			servico = "ICT";
			break;
		case 5:	//Espanhol
			servico = "TIC";
			break;
	}
	
	return servico;
}

//Função responsável por escrever o serviço Formação na língua correcta
function getFormacaoTraduzido(lingua) {
	var servico;
	
	switch (lingua) {
		case 1: //Português
			servico = "Formação";
			break;
		case 2:	//Inglês
			servico = "Training";
			break;
		case 3:	//Romeno
			servico = "Formare";
			break;
		case 4:	//Polaco
			servico = "Szkolenia";
			break;
		case 5:	//Espanhol
			servico = "Formación";
			break;
	}
	
	return servico;
}

//Função responsável por escrever o serviço Internacionalização na língua correcta
function getInternacionalizacaoTraduzido(lingua) {
	var servico;
	
	switch (lingua) {
		case 1: //Português
			servico = "Internacionalização";
			break;
		case 2:	//Inglês
			servico = "Internationalization";
			break;
		case 3:	//Romeno
			servico = "Internationalizare";
			break;
		case 4:	//Polaco
			servico = "Umi?dzynarodowienie";
			break;
		case 5:	//Espanhol
			servico = "Internacionalización";
			break;
	}
	
	return servico;
}

//Função responsável por escrever o serviço Energia na língua correcta
function getEnergiaTraduzido(lingua) {
	var servico;
	
	switch (lingua) {
		case 1: //Português
			servico = "Energia";
			break;
		case 2:	//Inglês
			servico = "Energy";
			break;
		case 3:	//Romeno
			servico = "Energie";
			break;
		case 4:	//Polaco
			servico = "Energia";
			break;
		case 5:	//Espanhol
			servico = "Energia";
			break;
	}
	
	return servico;
}

//Função responsável por escrever o serviço Ambiente na língua correcta
function getAmbienteTraduzido(lingua) {
	var servico;
	
	switch (lingua) {
		case 1: //Português
			servico = "Ambiente";
			break;
		case 2:	//Inglês
			servico = "Environment";
			break;
		case 3:	//Romeno
			servico = "Mediu";
			break;
		case 4:	//Polaco
			servico = "?rodowisko";
			break;
		case 5:	//Espanhol
			servico = "Ambiente";
			break;
	}
	
	return servico;
}

/********************************************************************************
	FINAL DAS FUNÇÕES REFERENTES AO PEDIDO DE INFORMAÇÕES COMUNS ÀS VARIAS LÍNGUAS
********************************************************************************/



/********************************************************************************
	FUNÇÕES REFERENTES A VALIDAÇÕES DE DADOS
********************************************************************************/

//Função responsável por verificar se um determinado texto é composto somente por dígitos.
function isInteger(s){
	var i;
	
	if (s.length == 0)
		return false;
	else {
		for (i = 0; i < s.length; i++) {
			var c = s.charAt(i);
			if (((c < "0") || (c > "9")))
				return false;
		}
    }
	
    return true;
}

//Função responsável por verificar se um determindo texto está no formato correcto de um endereço de e-mail.
function isEmail(s){
	var arr;
	
	arr=s.indexOf("@");
	if(arr<0)
		return false;
	if(s.substring(0,arr) == "" )
		return false;
	if(s.substring(arr+1,s.length) == "" || s.substring(arr+1,s.length).indexOf("@")>=0)
		return false;
	return true;
}

//Função responsável por obter um sub-texto dedentro de um determinado texto.
function trimString(texto) {
	var posicao = 0;
	var tamanho = texto.length-1;
	
	while(posicao < texto.length && texto[posicao] == ' ') {	
		posicao++;
	}
	while(tamanho > posicao && texto[tamanho] == ' ') {
		tamanho-=1;
	}
	
	return texto.substring(posicao, tamanho+1);
}

//Função responsável por contar o número de caracteres introduzidos num determinado campo.
function contaNumeroCaracteres(Object, MaxLen) {
	var numCaracteres = 0;
	var texto = "";
	
	numCaracteres = Object.value.length;
	texto = Object.value;
	document.getElementById("maxCaracteres").innerHTML = MaxLen - numCaracteres;
	if ((MaxLen - numCaracteres) < 0) {
		Object.value = texto.substring(0, MaxLen);
		document.getElementById("maxCaracteres").innerHTML = 0;
	}
}

//Função responsável por formatar um determinado texto para o formato de html.
function trataParaURL(s){
	var res=s;
	var i,j;
	var arr_simbolos = new Array("$","&","+",",","/",":",";","=","?","@"," ","\"","<",">","#","{","}","|","\\","^","~","[","]","`");
	var arr_asciis = new Array("24","26","2B","2C","2F","3A","3B","3D","3F","40","20","22","3c","3e","23","7b","7d","7c","5c","5e","7e","5b","5d","60");

	j=-1;
	while((j=res.indexOf("'",j+1))>=0){
		res=res.substring(0,j) + "''" + res.substring(j+1,res.length);
		j++;
	}
	
	j=-1;
	while((j=res.indexOf("%",j+1))>=0)
		res=res.substring(0,j) + "%25" +res.substring(j+1,res.length); //<-- tratamento especial...
	
	for(i=0;i<arr_simbolos.length;i++){
		j=-1
		while((j=res.indexOf(arr_simbolos[i],j+1))>=0)
			res=res.replace(arr_simbolos[i],"%" + arr_asciis[i]);
	}
	return res;
}

/********************************************************************************
	FINAL DAS FUNÇÕES REFERENTES A VALIDAÇÕES DE DADOS DO PEDIDO DE INFORMAÇÕES
********************************************************************************/
