/// Lingua
function AlterLang(lang)
	{
	document.getElementById("entrar").setAttribute("href", lang);
	}


/// Função de Comandos da Área Pessoal
function OpenAreaPessoal(file, lang)
	{
	// Avisos
	var pedido = document.getElementById("WorkArea").getAttribute("pedido");
	document.getElementById("WorkArea").innerHTML=pedido;
	
	
	var req = null;
	
	if (window.XMLHttpRequest) {
	  // If IE7, Mozilla, Safari, and so on: Use native object.
	  req = new XMLHttpRequest();
	}
	else
	{
	  if (window.ActiveXObject) {
	     // ...otherwise, use the ActiveX control for IE5.x and IE6.
	     req = new ActiveXObject('MSXML2.XMLHTTP.3.0');
	  }
	}

	var url="07_pessoal/"+file+".php?lang=" + lang;
	
	req.open( "GET", url, true);
	req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");  
	req.send(null);
	
	// Avisos
	var receber = document.getElementById("WorkArea").getAttribute("receber");
	document.getElementById("WorkArea").innerHTML=receber;
	
	req.onreadystatechange = function()
		{
		if(req.readyState == 4)
			{
			if(req.status == 200)
				{
				document.getElementById("WorkArea").innerHTML=req.responseText;
				
				if(file == "imprimir")
					{
					PrintPage();
					}
				}
			}
		}
	}

/// Função de Impressão da Área Pessoal
function PrintPage()
	{
	window.print();
	}
	
/// Função de Configuração do Menu
function SetMenuPessoal(menu)
	{
	document.getElementById("b1").setAttribute("class", "inactive");
	document.getElementById("b2").setAttribute("class", "inactive");
	document.getElementById("b3").setAttribute("class", "inactive");
	document.getElementById("b4").setAttribute("class", "inactive");
	document.getElementById("b5").setAttribute("class", "inactive");
	document.getElementById("b6").setAttribute("class", "inactive");
	document.getElementById("b7").setAttribute("class", "inactive");
	document.getElementById("b"+menu).setAttribute("class", "active");
	}

/// Funções para o Mapa
/// Esta função activa e desactiva por id /// Não está a ser utilizada
function MuteDisplay(id)
	{
	if (document.layers)
		{
		current = (document.layers[id].display == 'none') ? 'block' : 'none';
		document.layers[id].display = current;
		}
	else if (document.all)
		{
		current = (document.all[id].style.display == 'none') ? 'block' : 'none';
		document.all[id].style.display = current;
		}
	else if (document.getElementById)
		{
		vista = (document.getElementById(id).style.display == 'none') ? 'block' : 'none';
		document.getElementById(id).style.display = vista;
		}
	}

function OpenMap()
	{
	var on = document.getElementById("map").getAttribute("on");
	if(on == "no")
		{
		MuteDisplay("map");
		MuteDisplay("mapmessage");
		MuteDisplay("maptitle");
		document.getElementById("map").setAttribute("on", "yes");
		}
	}
function CloseMap()
	{
	var on = document.getElementById("map").getAttribute("on");
	if(on == "yes")
		{
		MuteDisplay("map");
		MuteDisplay("mapmessage");
		MuteDisplay("maptitle");
		document.getElementById("map").setAttribute("on", "no");
		GUnload();
		}
	}
function RemoveListMap()
	{
	if ( document.getElementById("listmap") )
		{
			var d=document.getElementById("WorkArea");
			var olddiv = document.getElementById("listmap");
			d.removeChild(olddiv);
		}
	}

/// Funções $_POST
function makePOSTRequest(url, parameters)
	{
	http_request = false;
	if (window.XMLHttpRequest)
		{
		// Mozilla, Safari,...
	        http_request = new XMLHttpRequest();
		        if (http_request.overrideMimeType)
		        {
		        http_request.overrideMimeType('text/html');
		        }
		}
	else if (window.ActiveXObject)
		{
		// IE
	        try
	        	{
		        http_request = new ActiveXObject("Msxml2.XMLHTTP");
		        }
		catch (e)
			{
	        	try
	        		{
			        http_request = new ActiveXObject("Microsoft.XMLHTTP");
	        		}
	        	catch (e)
	        		{}
	        	}
		}

	if (!http_request)
		{
	        alert('Cannot create XMLHTTP instance');
	        return false;
		}

	// Avisos
	var receber = document.getElementById("WorkArea").getAttribute("receber");
	document.getElementById("WorkArea").innerHTML=receber;

	http_request.onreadystatechange = alertContents;
	http_request.open('POST', url, true);
	http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http_request.setRequestHeader("Content-length", parameters.length);
	http_request.setRequestHeader("Connection", "close");
	http_request.send(parameters);
	}

function alertContents()
	{
		if (http_request.readyState == 4) {
		        if (http_request.status == 200) {
		        //alert(http_request.responseText);
		        result = http_request.responseText;
		        document.getElementById('WorkArea').innerHTML = result;            
		        } else {
		        alert('There was a problem with the request.');
		        }
		}
	}

/// Alteração dos dados Pessoais
function ChangePersonalData(obj)
	{
	// Avisos
	var pedido = document.getElementById("WorkArea").getAttribute("pedido");
	document.getElementById("WorkArea").innerHTML=pedido;
	
	document.getElementById(obj);

	var poststr =	"&name=" + encodeURI( document.getElementById("name").value ) +
			"&organization=" + encodeURI( document.getElementById("organization").value ) +
			"&pais=" + encodeURI( document.getElementById("pais").value ) +
			"&pass=" + encodeURI( document.getElementById("pass").value ) +
			"&passto=" + encodeURI( document.getElementById("passto").value ) +
			"&lang=" + encodeURI( document.getElementById("lang").value );
	
	makePOSTRequest('07_pessoal/editar.php', poststr);
	}

/// Remover Ficha da Base de Dados
function Deselect(id, pasta)
	{
	var adicionar = document.getElementById("WorkArea").getAttribute("add");
	
	var nid = id.replace(/_/, ":");
	
	if(pasta == 1)
		{
		var d=document.getElementById("WorkArea");
		var olddiv = document.getElementById(id);
		d.removeChild(olddiv);
		}
	else
		{
		document.getElementById(id).setAttribute("class", "registry");
		document.getElementById("t_"+id).setAttribute("class", "registrytitle");
		document.getElementById("aaa_"+id).innerHTML="<A href='javascript:AddtoDB(\""+nid+"\");' >"+adicionar+"</A>";
		
		if(document.getElementById("m_"+id))
			{
			document.getElementById("m_"+id).setAttribute("class", "registry");
			document.getElementById("m_t_"+id).setAttribute("class", "registrytitle");
			document.getElementById("m_aaa_"+id).innerHTML="<A href='javascript:AddtoDB(\""+nid+"\");' >"+adicionar+"</A>";
			}
		}
	}

function RemovefromDB(id, pasta)
	{
	var nid = id.replace(/:/, "_");
	document.getElementById("aaa_"+nid).innerHTML="";
	
	var req = null;
	
	if (window.XMLHttpRequest) {
	  // If IE7, Mozilla, Safari, and so on: Use native object.
	  req = new XMLHttpRequest();
	}
	else
	{
	  if (window.ActiveXObject) {
	     // ...otherwise, use the ActiveX control for IE5.x and IE6.
	     req = new ActiveXObject('MSXML2.XMLHTTP.3.0');
	  }
	}

	var url="03_static_files/remove.php?id="+id;
	req.open( "GET", url, true);
	req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");  
	req.send(null);
	req.onreadystatechange = function()
		{
		if(req.readyState == 4)
			{
			if(req.status == 200)
				{
				var nid = id.replace(/:/, "_");
				Deselect(nid, pasta);
				}
			else
				{
				}
		    	}
		}
	}
/// Adicionar Ficha à Base de Dados
function Select(id)
	{
	var remover = document.getElementById("WorkArea").getAttribute("remove");

	var nid = id.replace(/_/, ":");
	
	document.getElementById(id).setAttribute("class", "regselected");
	document.getElementById("t_"+id).setAttribute("class", "regtitselected");
	document.getElementById("aaa_"+id).innerHTML="<A href='javascript:RemovefromDB(\""+nid+"\", 0);' >"+remover+"</A>";
	
	if(document.getElementById("m_"+id))
		{
		document.getElementById("m_"+id).setAttribute("class", "regselected");
		document.getElementById("m_t_"+id).setAttribute("class", "regtitselected");
		document.getElementById("m_aaa_"+id).innerHTML="<A href='javascript:RemovefromDB(\""+nid+"\", 0);' >"+remover+"</A>";
		}
	}

function AddtoDB(id)
	{
	var nid = id.replace(/:/, "_");
	document.getElementById("aaa_"+nid).innerHTML="";
	var req = null;
	
	if (window.XMLHttpRequest) {
	  // If IE7, Mozilla, Safari, and so on: Use native object.
	  req = new XMLHttpRequest();
	}
	else
	{
	  if (window.ActiveXObject) {
	     // ...otherwise, use the ActiveX control for IE5.x and IE6.
	     req = new ActiveXObject('MSXML2.XMLHTTP.3.0');
	  }
	}

	var url="03_static_files/add.php?id="+id;
	req.open( "GET", url, true);
	req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");  
	req.send(null);
	req.onreadystatechange = function()
		{
		if(req.readyState == 4)
			{
			if(req.status == 200)
				{
				Select(nid);
				}
			else
				{
				}
		    	}
		}	
	}



/// Pesquisa
/// Ajuda de Pesquisa

function Ajuda(lang)
	{
	document.getElementById("searchform").setAttribute("action", "javascript:AjudaPesquisa(\""+lang+"\");");
	document.getElementById("searchform").setAttribute("method", "get");
	document.getElementById("searchform").setAttribute("enctype", "");
	}
function AjudaPesquisa(lang)
	{
	// Avisos
	var pedido = document.getElementById("WorkArea").getAttribute("pedido");
	document.getElementById("WorkArea").innerHTML=pedido;
		
	var req = null;
	
	if (window.XMLHttpRequest) {
	  // If IE7, Mozilla, Safari, and so on: Use native object.
	  req = new XMLHttpRequest();
	}
	else
	{
	  if (window.ActiveXObject) {
	     // ...otherwise, use the ActiveX control for IE5.x and IE6.
	     req = new ActiveXObject('MSXML2.XMLHTTP.3.0');
	  }
	}

	var url="03_static_files/ajudapesquisa.php?lang="+lang;
	
	req.open( "GET", url, true);
	req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");  
	req.send(null);
	
	// Avisos
	var receber = document.getElementById("WorkArea").getAttribute("receber");
	document.getElementById("WorkArea").innerHTML=receber;
	
	req.onreadystatechange = function()
		{
		if(req.readyState == 4)
			{
			if(req.status == 200)
				{
				document.getElementById("WorkArea").innerHTML=req.responseText;
				}
			}
		}
	}
	

function ChangeActiontoMap(value, init, lang)
	{
	var a = document.getElementById("searchform"); 
	a.setAttribute("action", "javascript:get(\"searchform\", "+value+", "+init+", \""+lang+"\");");
	}

function get(obj, type, init, lang)
	{
	// Avisos
	var pedido = document.getElementById("WorkArea").getAttribute("pedido");
	document.getElementById("WorkArea").innerHTML=pedido;
	
	document.getElementById(obj);
	var rules = document.getElementById("rules");
	var val = rules.getAttribute("value");

	var poststr = "&type="+type+"&start="+init+"&rules="+val+"&lang="+lang;
	while (val > 0)
		{
		var fld = "fld."+val;
		var opt = "opt."+val;
		var txt = "txt."+val;
		if(document.getElementById(txt))
			{
			var pt1 = "one_map_"+val;
			var pt2 = "two_map_"+val;
			if(document.getElementById(fld).value == 3 && document.getElementById(pt2).value != '')
				{
					var pt1 = "one_map_"+val;
					var pt2 = "two_map_"+val;
					
					var poststr =	poststr +
							"&rule_"+val+"=" + encodeURI( document.getElementById(fld).value ) + ":::"
							+ encodeURI( document.getElementById(pt1).value ) + ":::"
							+ encodeURI( document.getElementById(pt2).value );
				}
			else
				{
					var poststr =	poststr +
							"&rule_"+val+"=" + encodeURI( document.getElementById(fld).value ) + ":::"
							+ encodeURI( document.getElementById(opt).value ) + ":::"
							+ encodeURI( document.getElementById(txt).value );	
				}
			}	
		var val = val - 1;
		}
	makePOSTRequest('03_static_files/search.php', poststr);

	}

function SearchText(text, field, type, start, lang)
	{
	// Avisos
	var pedido = document.getElementById("WorkArea").getAttribute("pedido");
	document.getElementById("WorkArea").innerHTML=pedido;
	
	var req = null;
	if (window.XMLHttpRequest) {
	  // If IE7, Mozilla, Safari, and so on: Use native object.
	  req = new XMLHttpRequest();
	}
	else
	{
	  if (window.ActiveXObject) {
	     // ...otherwise, use the ActiveX control for IE5.x and IE6.
	     req = new ActiveXObject('MSXML2.XMLHTTP.3.0');
	  }
	}

	var url="03_static_files/searchtext.php?text="+text+"&field="+field+"&type="+type+"&start="+start+"&lang="+lang;
	var url=encodeURI(url);
	req.open( "GET", url, true);
	req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");  
	req.send(null);
	
	// Avisos
	var receber = document.getElementById("WorkArea").getAttribute("receber");
	document.getElementById("WorkArea").innerHTML=receber;
	
	req.onreadystatechange = function() {
		if(req.readyState == 4)
			{
			if(req.status == 200)
				{
				document.getElementById("WorkArea").innerHTML=req.responseText;
				}
			else
				{
				document.getElementById("WorkArea").innerHTML=req.status + " " + req.statusText;
				}
		  	}
		}
	}

/// Regras de Pesquisa
function ChangeEdit(rule)
	{
	document.getElementById("edit."+rule).innerHTML="<A href='javascript:RemoveRule("+rule+");' ><IMG src='05_img/menos.png' class='addremove' /></A>";
	}

function RemoveRule(rule)
	{
	var d=document.getElementById("rules");
	var olddiv = document.getElementById("rule."+rule);
	d.removeChild(olddiv);
	}

function AddNewRule(rule, lang)
	{
	var req = null;
	var p = document.createElement("div");
		p.setAttribute("id", "rule."+rule);
		p.setAttribute("class", "rule");
	
	document.getElementById("rules").appendChild(p);


	if (window.XMLHttpRequest) {
	  // If IE7, Mozilla, Safari, and so on: Use native object.
	  req = new XMLHttpRequest();
	}
	else
	{
	  if (window.ActiveXObject) {
	     // ...otherwise, use the ActiveX control for IE5.x and IE6.
	     req = new ActiveXObject('MSXML2.XMLHTTP.3.0');
	  }
	}

	var url="03_static_files/rule.php?rule="+rule+"&lang="+lang;
	req.open( "GET", url, true);
	req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
	req.send(null);

	req.onreadystatechange = function() {
		if(req.readyState == 4)
			{
			if(req.status == 200)
				{
				document.getElementById("rule."+rule).innerHTML=req.responseText;
				ChangeEdit(rule-1);
				} 
			else
				{
				document.getElementById("rule."+rule).innerHTML=req.status + " " + req.statusText;
	    			}
			}
		}
		
	document.getElementById("rules").setAttribute("value", rule);
	}

function CleanRule(rule)
	{
	document.getElementById("operator."+rule).innerHTML="";
	document.getElementById("text."+rule).innerHTML="";
	}


function AddOperator(rule, field, lang)
	{
	CleanRule(rule);
	var req = null;
	if (window.XMLHttpRequest) {
	  // If IE7, Mozilla, Safari, and so on: Use native object.
	  req = new XMLHttpRequest();
	}
	else
	{
	  if (window.ActiveXObject) {
	     // ...otherwise, use the ActiveX control for IE5.x and IE6.
	     req = new ActiveXObject('MSXML2.XMLHTTP.3.0');
	  }
	}

	var url="03_static_files/operator.php?rule="+rule+"&field="+field+"&lang="+lang;
	req.open( "GET", url, true);
	req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");  
	req.send(null);

	req.onreadystatechange = function() {
		if(req.readyState == 4)
			{
			if(req.status == 200)
				{
				document.getElementById("operator."+rule).innerHTML=req.responseText;
				}
			else
				{
				document.getElementById("operator."+rule).innerHTML=req.status + " " + req.statusText;
				}
		  	}
		}
	}

function AddText(rule)
	{
	var req = null;
	
	if (window.XMLHttpRequest) {
	  // If IE7, Mozilla, Safari, and so on: Use native object.
	  req = new XMLHttpRequest();
	}
	else
	{
	  if (window.ActiveXObject) {
	     // ...otherwise, use the ActiveX control for IE5.x and IE6.
	     req = new ActiveXObject('MSXML2.XMLHTTP.3.0');
	  }
	}

	var url="03_static_files/text.php?rule="+rule;
	req.open( "GET", url, true);
	req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");  
	req.send(null);

	req.onreadystatechange = function() {
		if(req.readyState == 4)
			{
			if(req.status == 200)
				{
				document.getElementById("text."+rule).innerHTML=req.responseText;
				}
			else
				{
				document.getElementById("text."+rule).innerHTML=req.status + " " + req.statusText;
				}
		  	}
		}
	}

/// Publicações
function GetPublication(pub)
	{
	// Avisos
	var pedido = document.getElementById("WorkArea").getAttribute("pedido");
	document.getElementById("WorkArea").innerHTML=pedido;
	
	var req = null;
	if (window.XMLHttpRequest) {
	  // If IE7, Mozilla, Safari, and so on: Use native object.
	  req = new XMLHttpRequest();
	}
	else
	{
	  if (window.ActiveXObject) {
	     // ...otherwise, use the ActiveX control for IE5.x and IE6.
	     req = new ActiveXObject('MSXML2.XMLHTTP.3.0');
	  }
	}

	var url="03_static_files/get_publicacoes.php?pub="+pub;
	req.open( "GET", url, true);
	req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");  
	req.send(null);

	// Avisos
	var receber = document.getElementById("WorkArea").getAttribute("receber");
	document.getElementById("WorkArea").innerHTML=receber;

	req.onreadystatechange = function() {
		if(req.readyState == 4)
			{
			if(req.status == 200)
				{
				document.getElementById("WorkArea").innerHTML=req.responseText;
				}
			else
				{
				document.getElementById("WorkArea").innerHTML=req.status + " " + req.statusText;
				}
		  	}
		}
	}

