/*
 * ###########################################
 * ARDOSIA CORE JS
 * ###########################################
 */

//ignorar primeira utilizacao de funcao
var ignoreFirst = 0;

/* ***************************
 * Funcoes load documento
 * ***************************/
	$(document).ready(function()
	{
		//coloca os Div com ID=boxRounded com cantos redondos
		$('#boxRounded, .boxRounded, .printMenuDiv').corner('5px');
		$('.buttonSubmit, .buttonRounded, .buttonPrint, .opcoes a').corner('3px');
		
		//inicia grupos de tabs
		$('#tabs-1 > ul, #tabs-2 > ul').tabs({ cookie: { expires: 1 } });
	
		//cantos redondos de elementos comuns
		$('#tabs-1, #tabs-2, #boxRounded').corner('5px');
		$('li.ui-tabs-nav-item').corner('top 5px');
		
		//tooltips
		$('#headerNav a, #headerInfo a, .showTooltip').tooltip({ track: true, delay: 0, showURL: false, fade: 250 });
		
		//noticias na barra preta em baixo
		$("#newsTicker ul").ticker("init",{
					delay:7000,
					speed:1000,
					linked:true, 
					selection:'li',
					animations: { _in:'fadeIn',	out:'fadeOut'}
					}).ticker("loop");
		
		//datepicker
		$("#nasc_data").datepicker({ dateFormat: 'yy-mm-dd' });
		
		hideDivMsg();
					
	});



/* ***************************
 * Funcoes variadas - core
 * ***************************/

	/**
	 * Funcao para esconder automaticamente as mensagens de aviso
	 */
	function hideDivMsg() {	
		setTimeout(
			function(){
				$("div.success").fadeOut(2000);
			} , 5000
		);
	}
	
	//Cookies
	function createCookie(name,value,days) {
		if (days) {
			var date = new Date();
			date.setTime(date.getTime()+(days*24*60*60*1000));
			var expires = "; expires="+date.toGMTString();
		}
		else var expires = "";
		document.cookie = name+"="+value+expires+"; path=/";
	}
	
	function readCookie(name) {
		var nameEQ = name + "=";
		var ca = document.cookie.split(';');
		for(var i=0;i < ca.length;i++) {
			var c = ca[i];
			while (c.charAt(0)==' ') c = c.substring(1,c.length);
			if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
		}
		return null;
	}
	
	function eraseCookie(name) {
		createCookie(name,"",-1);
	}
	
	
	// funcao para mudar o icon [+] [-]
	function toggleDivCollapsedIcon(id_div, url) {
		collapsedDiv = $("#"+id_div);
		collapsedIcon = $("#collapsedIcon_"+id_div);
		
		collapsedDiv.toggle();
		if(collapsedIcon.hasClass("icon_mais")) {
			collapsedIcon.html("<img src='"+url+"/images/icons/icon_menos.png' alt='Fechado' border='0' />");
			collapsedIcon.removeClass("icon_mais");
			collapsedIcon.addClass("icon_menos");
		} else {
			collapsedIcon.html("<img src='"+url+"/images/icons/icon_mais.png' alt='Aberto' border='0' />");
			collapsedIcon.removeClass("icon_menos");
			collapsedIcon.addClass("icon_mais");
		}
	}

	
	
	//caixa de loading
	function LoadingBox() {
		AlertBox('<h1>A carregar...</h1>','wait');
	}
	
	
	// caixa de alerta para logout
	function AlertBox(Msg_or_Id, type, url, boxWidth, boxLeftPosition) {
		//if (type == 'layer') {
		//	$.blockUI({	message: document.getElementById(Msg_or_Id) });
		//}
		
		if(boxWidth == null)
			boxWidth = '30%';
			
		if(boxLeftPosition == null)
			boxLeftPosition = '30%';

		if(url == null)
			url = '#';

		//defaults - estilo - para evitar mexer na livraria original
		cssArdosiaDefaults = {padding:20,margin:0,width:boxWidth,top:'15%',left:boxLeftPosition,textAlign:'center',color:'#222',border:'none',backgroundColor:'#fff',cursor:'default',opacity:'1','-webkit-border-radius': '5px','-moz-border-radius': '5px'};

		if (type == 'layer' && url != '') {
			var msg  = '<div id="divAlertBox">';
			    msg += '</div>';
			$.blockUI({	message: msg, css: cssArdosiaDefaults });
			$("#divAlertBox").load(url);
		}
		else {
			var msg  = '<div id="divAlertBox"><div style="margin-bottom:10px">'+Msg_or_Id+'</div>';
			if (type == 'confirm')
				msg += '\t<a class="buttonSubmit" href="'+url+'" id="ok">OK</a>\n\t<a class="buttonSubmit" id="cancel">Cancelar</a>\n';
			else if (type == 'ok')
				msg += '\t<a class="buttonSubmit" href="'+url+'" id="okContinue">OK</a>\n';
			else if (type == 'layer')
				msg += '\t<a class="buttonSubmit" href="'+url+'" id="okContinue">Fechar</a>\n';
			else if (type == 'wait')
				msg += "\t<br /><img src='"+baseUrl+"/images/loading.gif' alt='a carregar...' border='0' />\n";
			msg += '</div>';
			$.blockUI({	message: msg, css: cssArdosiaDefaults });
			
			if(type == 'wait' && url != '') {
				window.location = url;
			}
		}
		$('#ok, #okContinue, #close, #cancel, #core_boxAlert').click($.unblockUI);
		//setTimeout(jQuery.unblockUI, 4000);
	}
	
	
	//funcao data - simples e eficaz
	function ArdosiaJsDate(type)
	{
		function zero(nr) { if (nr < 10) nr = "0" + nr; return nr; }
		function year(year) { var y = year % 100; y += (y < 38) ? 2000 : 1900; return y; }
		
		var today = new Date();
		var WeekDays = new Array('Domingo','Segunda','Ter�a','Quarta','Quinta','Sexta','Sabado');
		var WeekDay = WeekDays[today.getDay()];
		var Day = today.getDate();
		var Month = today.getMonth()+1;
		var Time = zero(today.getHours())+':'+zero(today.getMinutes())+':'+zero(today.getSeconds());
		var Year = year(today.getYear());

		if(type == 'date')
			return Day+'.'+Month+'.'+Year+'  '+Time;
		if(type == 'time')
			return Time;
	}
	
	function isInteger(val)
	{
	    if(val==null)
	    {
	        alert(val);
	        return false;
	    }
	    if (val.length==0)
	    {
	        alert(val);
	        return false;
	    }
	    for (var i = 0; i < val.length; i++) 
	    {
	        var ch = val.charAt(i)
	        if (i == 0 && ch == "-")
	        {
	            continue
	        }
	        if (ch < "0" || ch > "9")
	        {
	            return false
	        }
	    }
	    return true
	}








	
/* ***************************
 * InicioController
 * ***************************/

	// index
	function InicioIndex()
	{
		//inicia o menu lateral direito, presente em muitos controladoress
		/*$('#accordion').accordion({
			header: ".ui-accordion-header",
			clearStyle: true
			/*, event: 'mouseover'*/
		//});
		$("#inline-calendar").datepicker({ 
    			//onSelect: function(date) { 
        		//alert("The chosen date is " + date); 
    	//	} 
		});
	}
	
	
	
	
	
	
/* ***************************
 * AvaliacaoController
 * ***************************/

	// consulta e altera o estado do registo
	function RegistoEstadoAvaliacao(id_boxDiv, id_registo, novoestado, accao, url, disc, tipo, periodo, id_aluno)
	{

		if(accao == 'set') {
			if(confirm('Tem a certeza que deseja alterar o estado do registo?')) {
				RegistoEstadoAvaliacao(id_boxDiv, id_registo, novoestado, 'setOk', url);
				//necessario actualizar a listagem
				AvaliacaoListagemAlunosRegisto('listAlunosRegistos', disc, tipo, periodo);
				setTimeout("loadDisciplinas('porDisciplina')", 2000);
			}
			//AlertBox('<b>Tem a certeza que deseja alterar o estado do registo?</b>', 'confirm', 'javascript:RegistoEstadoAvaliacao(\''+id_boxDiv+'\', '+id_registo+', \''+novoestado+'\', \'setOk\', \''+url+'\')', '20%', '35%');
		}
		
		else {
			$("#"+id_boxDiv).html("<div class='loadingDiv displayBlock'>a carregar o estado do registo...</div>");
			$('#'+id_boxDiv).load(url+"/ajax/avaliacaoregistoestado/accao/"+accao+"/novoestado/"+novoestado+"/id_registo/"+id_registo,
				{
					accao: accao,
					novoestado: novoestado,
					id_registo: id_registo,
					disc: disc,
					tipo: tipo,
					periodo: periodo
				},
				function(response){ 
					if(response) {
						$("#"+id_boxDiv).html(response);
						if(novoestado && novoestado == 'F' || novoestado == 'DT') {
							$('#linkEditarRegisto').hide();
							$('#msgAvisoEstadoRegisto').fadeIn();
						} else if(novoestado && novoestado == 'P') {
							$('#msgAvisoEstadoRegisto').hide();
							$('#linkEditarRegisto').fadeIn();
						}
					} else {
						$("#"+id_boxDiv).html("&rsaquo; Ocorreu um erro a listar os dados do estado deste registo.");
					}
				}
			);
		}

	}
	
	
	// consulta os registos de avaliacao e lista todos os alunos inscritos na disciplina
	function AvaliacaoListagemAlunosRegisto(id_boxDiv, disc, tipo, periodo, op)
	{
		url = baseUrl;
		
		$("#"+id_boxDiv).html("<div class='loadingDiv displayBlock'>a carregar a listagem...</div>");
		$('#'+id_boxDiv).load(url+"/ajax/avaliacaolistagemalunosregisto/disc/"+disc+"/tipo/"+tipo+"/periodo/"+periodo+"/op/"+op,
			{},
			function(response){ 
				if(response) {
					$("#"+id_boxDiv).html(response);
				} else {
					$("#"+id_boxDiv).html("&rsaquo; Ocorreu um erro a listar.");
				}
			}
		);

	}

	// consulta e altera o estado do registo
	function AlunoAvaliacaoInfoPessoa(id_boxDiv, id_aluno, tipo_lista, url)
	{
		$("#b_porTipo, #b_porDisciplina").removeClass("bgInactive");
		
		$("#"+id_boxDiv).html("<div class='loadingDiv displayBlock'>a carregar...</div>");
		$('#'+id_boxDiv).load(
			url+"/ajax/avaliacaoaluno",
			{
				id_aluno: id_aluno,
				tipo_lista: tipo_lista
			},
			function(response){
				$("#loading_calendario").hide();
				if(response)
					$("#"+id_boxDiv).html(response);
				else
					$('#'+id_boxDiv).html("Ocorreu um erro a actualizar.");
			}
		);
		
		if(tipo_lista == 'porDisciplina')
			$("#b_porTipo").addClass("bgInactive");
		else
			$("#b_porDisciplina").addClass("bgInactive");
	}
	
	
	//validacao de notas
	function AvaliacaoValidacao(inputname)
	{
		inputNota = document.getElementsByName(inputname);
		inputNota = parseInt(inputNota[0].value);
		if(isInteger(inputNota) && inputNota >= 0 && inputNota <= 20) {
			return true;
		}
		else {
			alert("Por favor, insira um valor de 0 a 20");
			return false;
		}
	}



	
	

/* ***************************
 * LivrodepontoController
 * ***************************/

	//aula
	function LivrodepontoAula()
	{
		//inicia slider de alunos
		jQuery("div#slider1").codaSlider();
	}
	
	//aula
	function LivrodepontoDisciplinaAulas(id, url, type, requestedBy)
	{
		/*
			# tipos de listagem
			1: listagem de aulas activas
			2: listagem de aulas activas com sumarios
			3: listagem completa sem sumarios
		*/
		var types = 1;
		
		//verifica listagem
		if(type == 1 || type == 2) {
			aulasActivas = 1;
			//verifica sumarios
			if(type == 2) {
				mostraSumarios = 1;
				tituloListagem = 'Aulas leccionadas com sum&#225;rios';
			} else {
				mostraSumarios = 0;
				tituloListagem = 'Aulas leccionadas';
			}
		}
		else {
			aulasActivas = 0;
			mostraSumarios = 0;
			tituloListagem = 'Calend&#225;rio completo de aulas';
		}
		
		
		$("#disciplina_aulas").hide();
		$("#loading_calendario").fadeIn();
		$("#disciplina_aulas").load(
			url+"/ajax/disciplinaaulas/id/"+id,
			{
				aulasActivas: aulasActivas,
				mostraSumarios: mostraSumarios,
				tituloListagem: tituloListagem,
				requestedBy: requestedBy
			},
			function(response){
				$("#loading_calendario").hide();
				if(response) {
					/*
					# Muda o estado dos butoes
					for (types=1;types<=3;types++) {
						if(types != type)
							$("#menuCalendario_b"+types).removeClass("new");
					}
					$("#menuCalendario_b"+type).addClass("new");
					*/
				} else {
					$("#disciplina_aulas").html("Ocorreu um erro a listar. Sem registos.");
				}
				$("#disciplina_aulas").fadeIn();
			}
		);
	}
	
	// botao marcar falta ao aluno
	function AulaMarcaFaltaPresencial(id_aluno, id_aula, id_disc_ano_turma, id_tipo_registo, url)
	{
		//verifica se o aluno tem faltas de outro tipo ja associadas
		if($('#b_faltas_'+id_aluno).hasClass('cFaltas')) {
			AlertBox('<h1>Aviso</h1><b>O aluno j&#225; tem faltas associadas nesta aula</b><br />Para marcar falta de presen&#231;a, remova quaisquer faltas associadas ao aluno nesta aula, utilizando o icon "Anota&#231;&#245;es", em baixo.', 'ok', '#');
			return false;
		}
		
		if($('#b_marca_falta_'+id_aluno).hasClass('bPresente'))
		{	
			//envia os dados por post para o controlador
			$.post(url+'/livrodeponto/marcafalta',{
				accao: 'add',
				id_pessoa: id_aluno,
				id_disc_ano_turma: id_disc_ano_turma,
				id_aula: id_aula,
				id_tipo_registo: id_tipo_registo
				}, function(response){ 
			     if(response == 1){
			     	//muda o icon, caso receba ok da resposta
					$('#b_marca_falta_'+id_aluno).removeClass('bPresente');
					$('#b_marca_falta_'+id_aluno).addClass('bAusente');
			     }
			   }
			);
		}
		else
		{
			//envia os dados por post para o controlador
			$.post(url+'/livrodeponto/marcafalta',{
				accao: 'del',
				id_pessoa: id_aluno,
				id_disc_ano_turma: id_disc_ano_turma,
				id_aula: id_aula,
				id_tipo_registo: id_tipo_registo
			   }, function(response){ 
			     if(response == 1){
			     	//muda o icon, caso receba ok da resposta
					$('#b_marca_falta_'+id_aluno).removeClass('bAusente');
					$('#b_marca_falta_'+id_aluno).addClass('bPresente');
			     }
			     else if(response == 2){
			     	//a falta ja esta justificada pelo DT
			     	AlertBox('<h1>Aviso</h1><b>Falta Justificada</b><br />A falta seleccionada j&#225; foi justificada pelo Director de Turma.<br />Assim, n&#227;o &#233; poss&#237;vel retirar a falta presencial ao aluno.', 'ok', '#');
					return false;
			     }
			   }
			);
		}
		return false;
	}
	
	//botao para gestao das faltas
	function AulaAlunoFaltas(id_aluno, id_aula, id_disciplina_ano_turma, id_falta, id_tipo_registo, accao, url)
	{
	
		//verificar se o aluno tem falta de presenca
		if($('#b_marca_falta_'+id_aluno).hasClass('bAusente')) {
			AlertBox('<h1>Aviso</h1><b>O aluno encontra-se ausente da aula.</b><br />N&#227;o &#233; poss&#237;vel associar outro tipo de faltas.', 'ok', '#');
			return false;
		}
		
		
		//recolhe dados do formulario
		var tipo_falta = $('#tipo_faltas').val();
		var obs_falta = $('#obs').val();
		
		if(accao == 'list')
			listFaltas(1);
		if(accao == 'list_only')
			listFaltas(0);
		if(accao == 'add')
			addFalta();
		if(accao == 'del')
			delFalta();
			


		//listagem de faltas
		function listFaltas(modo_listar) {
			$("#listagem_faltas").hide();
			$('#obs').val('');
			$.getJSON(url+'/livrodeponto/faltas/', {
					aluno: id_aluno,
					aula: id_aula,
					dat: id_disciplina_ano_turma,
					json: 1
				}, function(json){
					if(json.length == 0) {
						$("#listagem_faltas").fadeIn().html('O aluno n&#xe3;o tem faltas registadas nesta aula.');
						iconUpdate(1);
						AulaFaltasAddOk(1);
					}
					else {
						$("#listagem_faltas").fadeIn().html(mostraListagemFaltas(json, modo_listar));
						iconUpdate(0);
						AulaFaltasAddOk(1);
					}
				}
			);
		}
		
		//adicionar nova falta
		function addFalta() {
			$.post(url+'/livrodeponto/marcafalta',{
					id_pessoa: id_aluno,
					id_aula: id_aula,
					id_disc_ano_turma: id_disciplina_ano_turma,
					id_tipo_registo: tipo_falta,
					descritivo: obs_falta,
					accao: 'add'
					}, function(response){ 
					   if(response == 1){
					   	listFaltas();
					   }
					}
			);
		}
		
		//adicionar nova falta
		function delFalta() {
			if(confirm('Tem a certeza que deseja apagar o registo de falta do aluno?'))
			{
				$.post(url+'/livrodeponto/marcafalta',{
						id_pessoa: id_aluno,
						id_aula: id_aula,
						id_disc_ano_turma: id_disciplina_ano_turma,
						id_tipo_registo: id_tipo_registo,
						id_falta: id_falta,
						accao: 'del'
						}, function(response){ 
						   if(response == 1){
						   	listFaltas();
						   }
						}
				);
			}
		}
		
		//funcao para formatar a listagem de faltas do aluno
		function mostraListagemFaltas(json, modo_listar) {
			htmlPrint = '';
			for(var i = 0; i < json.length; i++) {
				htmlPrint += "<div class='blockDiv list'>";
				htmlPrint += "<div style='float:left'><b>"+json[i].nome_tipo_registo+"</b></div>";
				
				if(modo_listar)
					htmlPrint += "<div style='float:right'><a onclick=\"AulaAlunoFaltas("+id_aluno+", "+id_aula+", "+id_disciplina_ano_turma+", "+json[i].id+", "+json[i].id_tipo_registo+", 'del', '"+url+"')\" class='buttonSubmit'>X</a></div>";
				
				htmlPrint += "</div>";
				if(json[i].descritivo != '')
					htmlPrint += "<div class='lead' style='margin-bottom:10px;'><b>Obs:</b> "+json[i].descritivo+"</div>";
			}
			return htmlPrint;
		}
		
		//gere o icon de faltas na aula
		function iconUpdate(retirar) {
			if($('#b_faltas_'+id_aluno).hasClass('sFaltas') && retirar == 0) {
				$('#b_faltas_'+id_aluno).removeClass('sFaltas');
				$('#b_faltas_'+id_aluno).addClass('cFaltas');
			}
			if($('#b_faltas_'+id_aluno).hasClass('cFaltas') && retirar == 1) {
				$('#b_faltas_'+id_aluno).removeClass('cFaltas');
				$('#b_faltas_'+id_aluno).addClass('sFaltas');
			}
		}

		return false;
	}
	
	//pop de faltas - mostra textarea se opccao de falta for selecionada
	function AulaFaltasAddOk(reset)
	{
		var tipo_falta_select = document.getElementById('tipo_faltas');
		//recolhe dados do formulario
		var tipo_falta = $('#tipo_faltas').val();
		if(tipo_falta && !reset)
			$("#boxAulaFaltasAddOk").slideDown();
		else {
			tipo_falta_select.selectedIndex = 0;
			$("#boxAulaFaltasAddOk").slideUp();
		}
	}
	
	

	//escrever sumario com autosave
	function GuardaSumario(aula, auto, url, type)
	{
		var sumarioactual = $('#sumario_textarea').val();
		var autoMsg = '';
		if(!type)
			var type = 0;
		
		function setAuto(){
			var t = setInterval("GuardaSumario("+aula+", 1, '"+url+"')", 60000);
		}
		
		if(!ignoreFirst)
			setAuto();
		
		$("#sumario_msg").fadeOut();

		//funcao para emitir msg ao utilizador
		function sumarioGuardado() {
			//caso tenha sida alterada a class por motivo de erro, volta a colocar a original
			if($('#sumario_msg').hasClass('colorRed')) {
				$('#sumario_msg').removeClass('colorRed');
				$('#sumario_msg').addClass('colorBlue');
			}
			//mostra a mensagem consante o tipo de gravacao
			if(auto)
				$("#sumario_msg").fadeIn().html('Gravado <b>automaticamente</b> pelo sistema &#224;s '+ArdosiaJsDate('time'));
			else {
				$("#sumario_msg").fadeIn().html('Gravado pelo professor &#224;s '+ArdosiaJsDate('time'));
				setAuto();
			}
			$("#loading_sumario").fadeOut();
		}

		if (ignoreFirst)
		{
			$("#loading_sumario").fadeIn();
			$.post(url+'/livrodeponto/sumario',{
			  sumario: sumarioactual,
			  aula: aula,
			  byWho: type
			}, function(response){ 
			     if(response == 'ok'){
			     	sumarioGuardado();
			     }
			     else {
			     	$('#sumario_msg').removeClass('colorBlue');
					$('#sumario_msg').addClass('colorRed');
					if(auto)
						autoMsg = "<b>autom&#225;ticamente</b> ";
			     	$("#sumario_msg").fadeIn().html('Ocorreu um erro a gravar '+autoMsg+'o sum&#225;rio &#224;s '+ArdosiaJsDate('time'));
			     	$("#loading_sumario").fadeOut();
			     }
			   }
			);
		}
		//ignora a primeira execucao
		ignoreFirst = 1;
	}


	
	//box para importar planificacoes
	function BoxImportPlanficacoes(docente, url)
	{
		//chama caixa de gestao de planificacoes da disciplina do docente e da turma
		AlertBox('importplanificacoes','layer',url+'/livrodeponto/planificacoes/docente/'+docente);
		return false;
	}
	
	
 	// funcao para importar sumario planificado para textarea sumario
	function ImportaPlanificacao(sumarioplanificacao){
		// recolhe algum conteudo da textarea
		sumarioactual = $('#sumario_textarea').val();
		if(sumarioactual != null)
			$('#sumario_textarea').val(sumarioplanificacao + '\n--\n\n' + sumarioactual);
		else
			$('#sumario_textarea').val(sumarioplanificacao);	
		return false;
	}






/* ***************************
 * ArdosiaController
 * ***************************/
 
	//validacao de formulario
	function CalendarLoad(div, ano, mes, dia){
		$("#".div).fadeIn();
	}
	
	
	
	
/* ***************************
 * AjaxController
 * ***************************/
 
	//justificacao de faltas na disciplina pelo DT
	function DisciplinaFaltaJustificacao(id_falta, id_aluno, url)
	{
		var text_desc_value = document.getElementById('falta_desc').value;
		
		//falta justificada
		if($('#falta_'+id_falta+'_estado').hasClass('colorOrange'))
			justificaFalta();
		
		//funcao para justificar falta
		function justificaFalta() {
			if(text_desc_value != '') {
				//confirma a accao e justifica a falta
				$.post(url+'/ajax/disciplinafaltajustifica',{
				  id_falta: id_falta,
				  falta_desc: text_desc_value
				}, function(response){ 
				     if(response == 1){
				     	$('#falta_'+id_falta+'_estado').removeClass('colorOrange').html('Justificada');
				     	$('#check_justificacao_'+id_falta).removeClass('bgBlue').addClass('bgInactive').html('ver justifica&#231;&#227;o').corner('3px');
						$.unblockUI();
				     }
				     else {
				     	$('#aviso_box').fadeIn().html('&rsaquo; Ocorreu um erro. Por favor, tente novamente.');
				     }
				   }
				);
			} else {
				$('#aviso_box').fadeIn().html('&rsaquo; &#201; necess&#225;rio introduzir um texto justificativo para validar a opera&#231;&#227;o.');
			}	
		}

	}
	
	
	
	
/* ***************************
 * Calendario
 * ***************************/
	
	
	
	// Calendario Simples
	function CalendarioMensalSimples(div) {
	
		alert(baseUrl);
		//$("#".div).load(baseUrl);
	
	}
	
	
	
	

/* ***************************
 * FORMS
 * ***************************/
	
	// Form PessoaContactos -> Listagem de freguesias
	function FormPessoaContactosPais() {
		
		var form_id_pais = document.getElementById('id_pais').value;

		if(form_id_pais == 1 || form_id_pais == '' || form_id_pais == 0) {
			FormPessoaContactosDistrito();
			$("select#id_concelho").html('<option label="- - -" value="">- - -</option>');
			$("select#id_freguesia").html('<option label="- - -" value="">- - -</option>');
		}
		else if(form_id_pais > 1) {
			$("select#id_distrito option[value='23']").attr('selected', 'selected');
			$("select#id_distrito").html('<option label="Estrangeiro" value="23">Estrangeiro</option>');
			$("select#id_concelho").html('<option label="Estrangeiro" value="309">Estrangeiro</option>');
			$("select#id_freguesia").html('<option label="Estrangeiro" value="4253">Estrangeiro</option>');
		}
		else {
			$("select#id_distrito").html('<option label="Estrangeiro" value="23">Estrangeiro</option>');
			$("select#id_concelho").html('<option label="Estrangeiro" value="309">Estrangeiro</option>');
			$("select#id_freguesia").html('<option label="Estrangeiro" value="4253">Estrangeiro</option>');
		}
		
		return false;
	
	}
	
	// Form PessoaContactos -> Listagem de paises
	function FormPessoaContactosDistrito() {
		
		options = '<option label="- - -" value="">- - -</option>';
		var form_id_pais = document.getElementById('id_pais').value;
		
		if(form_id_pais == 1) {
			$.getJSON(baseUrl+'/json/getdistritos', {
					id_pais: form_id_pais,
					ajax: 'true'
				}, function(json){
					options = '<option label="- escolha -" value="">- escolha -</option>';
					if(json.length > 0) {
						for (var i = 0; i < json.length; i++) { 
				        options += '<option label="' + json[i].distrito + '" value="' + json[i].id + '">' + json[i].distrito + '</option>';
				      }
					}
					$("select#id_distrito").html(options);
					FormPessoaContactosConcelho();
				}
			);
		}
		else {
			$("select#id_distrito").html('<option label="" value="">- - -</option>');
		}

		
		return false;
	
	}
	
	// Form PessoaContactos -> Listagem de concelhos
	function FormPessoaContactosConcelho() {
		
		var form_id_distrito = 0;
		options = '<option label="- - -" value="">- - -</option>';
		var form_id_distrito = document.getElementById('id_distrito').value;
		
		$.getJSON(baseUrl+'/json/getconcelhos', {
				id_distrito: form_id_distrito,
				ajax: 'true'
			}, function(json){
				if(json.length > 0) {
					options = '<option label="- escolha -" value="">- escolha -</option>';
				 for (var i = 0; i < json.length; i++) { 
			        options += '<option label="' + json[i].concelho + '" value="' + json[i].id + '">' + json[i].concelho + '</option>';
			      }
				}
				$("select#id_concelho").html(options);
				$("select#id_freguesia").html('<option label="- - -" value="">- - -</option>');
			}
		);
		
		return false;
	
	}

	// Form PessoaContactos -> Listagem de freguesias
	function FormPessoaContactosFreguesia() {
		
		var form_id_concelho = 0;
		options = '<option label="- - -" value="">- - -</option>';
		var form_id_concelho = document.getElementById('id_concelho').value;
		
		$.getJSON(baseUrl+'/json/getfreguesias', {
				id_concelho: form_id_concelho,
				ajax: 'true'
			}, function(json){
				options = '<option label="- escolha -" value="">- escolha -</option>';
				if(json.length == 0) {
					//$("select#id_freguesia").attr("disabled", true);
				} else {
				  for (var i = 0; i < json.length; i++) {
					//$("select#id_freguesia").removeAttr("disabled"); 
			        options += '<option label="' + json[i].freguesia + '" value="' + json[i].id + '">' + json[i].freguesia + '</option>';
			      }
				}
				$("select#id_freguesia").html(options);
			}
		);
		
		return false;
	
	}
	
	
	
	
	
	
/* Portuguese initialisation for the jQuery UI date picker plugin. */
jQuery(function($){
	$.datepicker.regional['pt'] = {
		clearText: 'Limpar', clearStatus: '',
		closeText: 'Fechar', closeStatus: '',
		prevText: ' &lsaquo&lsaquo ', prevStatus: '',
		prevBigText: '&#x3c;&#x3c;', prevBigStatus: '',
		nextText: ' &rsaquo&rsaquo ', nextStatus: '',
		nextBigText: '&#x3e;&#x3e;', nextBigStatus: '',
		currentText: '- Hoje -', currentStatus: '',
		monthNames: ['Janeiro','Fevereiro','Mar&ccedil;o','Abril','Maio','Junho',
		'Julho','Agosto','Setembro','Outubro','Novembro','Dezembro'],
		monthNamesShort: ['Jan','Fev','Mar','Abr','Mai','Jun',
		'Jul','Ago','Set','Out','Nov','Dez'],
		monthStatus: '', yearStatus: '',
		weekHeader: 'Sm', weekStatus: '',
		dayNames: ['Domingo','Segunda-feira','Ter&ccedil;a-feira','Quarta-feira','Quinta-feira','Sexta-feira','Sabado'],
		dayNamesShort: ['Dom','Seg','Ter','Qua','Qui','Sex','Sab'],
		dayNamesMin: ['Dom','Seg','Ter','Qua','Qui','Sex','Sab'],
		dayStatus: 'DD', dateStatus: 'D, M d',
		dateFormat: 'dd/mm/yy', firstDay: 0, 
		initStatus: '', isRTL: false};
	$.datepicker.setDefaults($.datepicker.regional['pt']);
});
	
