

function showDiv()
{
	var ele =$("#google_translate_elem");
	
	var of1 = $('#Lage').offset();
	var of2 = $('.menuajuda').offset();
	
	$(ele).css('left',of1.left - of2.left - 170);
	
	$(ele).toggle();
}


// Para apresentar "controlo" de selecçao de li de google translate	
function googleTranslateElementInit() 
{

	// Obter valores sobre a pagina em acesso
	var loc = (new String(window.location)).toLowerCase();
	var idxLocEN = loc.toLowerCase().indexOf('cve/en',0);
	var idxLocPT = loc.toLowerCase().indexOf('cve/pt',0);
	
	// Carrega .js para traduções
	var urlSlices = loc.split('/' );
	var baseURL = urlSlices[0] +'//'+ urlSlices[1] + urlSlices[2];
	
	// Apenas necessário se para traduzir os serviços do ITIJ
	//$.getScript(baseURL + '/CVE/Resources/Scripts/jquery.translate.js');
	
	// Cria menuitem para permitir a selecção de outra li
	$('.menuajuda').append('<li id="Lage" ></li>');
	
	// Adiciona link para mudar de li
	var lang = 'Translate';
	
	if( idxLocEN > 0) 
	{
		var pos = idxLocEN + 6;
		var character = loc[pos]; 	
		if (character == '&' || character == '/' || character == '?' || character == undefined) 
			lang='Lage';	
	}
	
	$("br").replaceWith( "<span class='notranslate'><br/></span>" );
	
	$('img').each(function(index) 
	{
		var tooltip = $(this).attr('alt');
		$(this).attr('title', tooltip);
	});
	
	$('#Lage').append('<a href="javascript:showDiv();" style="color:#000000;text-decoration: none">'+lang+'</a>');	
	// Adiciona elemento para apresentar as lis disponiveis
	$('#Lage').append('<div align="left" style="display:none;position:absolute;top:53px;z-index:100;width:204px;height:75px;background-image:url(\'/CVE/Resources/Images/background_translate.png\')" id="google_translate_elem"><div id="google_translate_element" style="display:block;padding:15px 0px 0px 10px"></div></div>');
	
	//TODO - JPL 04/04/2011: Colocar Goggle tracking ID de AMA
	//new google.translate.TranslateElement({pageLage: 'pt', multilagePage: true, gaTrack: true, gaId: 'UA-382693'},"google_translate_element");

	if( idxLocEN > 0) // Não apresentar opção de Ingles para conteudos ingleses
	{
		new google.translate.TranslateElement({pageLage: 'pt',autoDisplay: true}, "google_translate_element");
	}
	else if( idxLocPT > 0) // Não apresentar opção de Português para conteudos Portugueses
	{
		new google.translate.TranslateElement({pageLage: 'pt',autoDisplay: true}, "google_translate_element");
	}
	else if(isPaginaServico())	// Caso serviços
	{
		var idxLocFormDin =loc.toLowerCase().indexOf('cve/services/balcaounico/efrm.aspx',0);
		var idxLocDEE =loc.toLowerCase().indexOf('cve/dee/services.aspx',0);

		if(idxLocFormDin <0 && idxLocDEE <0)
		{		
			new google.translate.TranslateElement({pageLage: 'pt',includedLages: 'pt,en', autoDisplay: true}, "google_translate_element");			
		}
		else
		{
			new google.translate.TranslateElement({pageLage: 'pt',autoDisplay: true}, "google_translate_element");			
		}

		//asoscia-se a evento de alteração de li		
		// faz alteração de li
		setServiceLage(forcePTorEN());
	}
	else	// restantes situações (se alguma)
	{
		new google.translate.TranslateElement({pageLage: 'pt',autoDisplay: true}, "google_translate_element");
	}
	// Associar a eveento de alteração de li
	$("select.goog-te-combo").change(onLageChange);	
};

// Verifica se página a apresentar é uma página de serviço
function isPaginaServico()
{
	var loc = new String(window.location);
	
	// Está a ser acedida página de serviços?
	var idxLoc =loc.toLowerCase().indexOf('cve/services/online/pedidos.aspx',0);		
	var idxLocFormDin =loc.toLowerCase().indexOf('cve/services/balcaounico/efrm.aspx',0);
	var idxLocDEE=loc.toLowerCase().indexOf('cve/dee/services.aspx',0);		
	var idxLocIES =loc.toLowerCase().indexOf('cve/ies/',0);		
	
	return idxLoc > 0 || idxLocIES > 0 || idxLocFormDin > 0 || idxLocDEE > 0;
}

// Coloca a li pretend	ia na pagina de serviço
function setServiceLage(selLage) 
{	
	if(isPaginaServico() && selLage!=null && selLage!='')	//Obter a li selecionada na página
	{
		var loc = new String(window.location);
		var idxLocIES =loc.toLowerCase().indexOf('cve/ies/',0);	
		var newURL = '';

		if(idxLocIES >0)
		{	
			var isDisplayingEN = $('.menu2-ENG').html() != null;
			if((selLage.toLowerCase()=='en' && isDisplayingEN) || (selLage.toLowerCase()=='pt' && !isDisplayingEN))
				return;
				
			langURL = loc.substring(0,idxLocIES+4) + 'Ies/Main.aspx?lang=' + selLage;
			
			
			//redireccionar para a pagina inicial do IEs (nunca e' possivel apresentar um serviço em especifico pois o ServicosIES.aspx contem os servicos como controlos)
			newURL=langURL;	
		}
		else
		{
			forcePTorEN();
			
			// AG - Alteração - 2011-10-25
			//var idxQStringStart=loc.toLowerCase().indexOf('&lang=',0);
			var idxQStringStartFirstP=loc.toLowerCase().indexOf('?lang=',0);
			var idxQStringStartOtherP=loc.toLowerCase().indexOf('&lang=',0);
			var idxQStringStart=0;
			var idxQStringEnd=loc.length;
			var sign = null;
			
			if( idxQStringStartFirstP > 0 )
			{
				idxQStringStart=idxQStringStartFirstP;
				sign='?';
			}
			else
			{
				if( idxQStringStartOtherP > 0 )
				{
					idxQStringStart=idxQStringStartOtherP;
					sign='&';
				}
			}
			
			
			if(idxQStringStart > 0) // Existe Li seleccionada?
			{	
				// A Li seleccionada é Igual a pretendida?
				//var qString =loc.substring(idxQStringStart, idxQStringEnd);
				//var qString =loc.substring(idxQStringStart-1, idxQStringEnd);
				var qString =loc.substring(idxQStringStart, idxQStringStart+9);
				//alert('qString - ' + qString);
				var locArray = qString.split('=', qString.length);
				//alert(locArray[0]);
				//alert(locArray[1]);
				
				if(selLage.toLowerCase()==locArray[1].toLowerCase())
					return;
				else
					//loc = loc.substring(0, idxQStringStart);
					//loc = loc.substring(0, idxQStringStart-1);
					loc = loc.substring(0, idxQStringStart) + loc.substring(idxQStringStart+9);
					//alert('location after extraction: ' + loc);
			}
			
			// Coloca a li pretendida
			if(sign != null)
			{   
				if( sign == '?' )
				{
					newURL = loc + "?lang=" + selLage.toUpperCase();
				}
				else
				{
					newURL = loc + "&lang=" + selLage.toUpperCase();
				}
			}
			else
			{
				if( loc.toLowerCase().indexOf('?') > 0 )
				{
					newURL = loc + "&lang=" + selLage.toUpperCase();
				}
				else
				{
					newURL = loc + "?lang=" + selLage.toUpperCase();
				}
			}
			
		}
				
		window.location = newURL;
	}
	
}

function  forcePTorEN()
{	
	var cookieVal = get_cookie('googtrans');
	
	if(cookieVal != null)
	{	
		cookieVal =new String(cookieVal);
		var loc = new String(window.location);		
		var idxLocFormDin =loc.toLowerCase().indexOf('cve/services/balcaounico/efrm.aspx',0);
		var idxLocDEE = loc.toLowerCase().indexOf('cve/dee/services.aspx');
		var ultIndice = cookieVal.lastIndexOf('/');			
		
		cookieVal = cookieVal.substring(ultIndice+1, cookieVal.length).toLowerCase();		
		
		if(idxLocFormDin <0 && idxLocDEE <0)
		{
			//TODO: só apagar cookie se tradução for diferente de PT ou EN
			if(cookieVal!='en' && cookieVal!='pt')
			{
				// Apagar Cookie
				delete_cookie('googtrans');
				cookieVal='pt';
			}
		}
	}
	else
	{	
		cookieVal='pt';		
	}
		
	
	return cookieVal;
}

// Altera li de conteúdos ao seleccionar nova li
function onLageChange() 
{

	// Traduzir área de serviços
	//translateServices();
	
	var loc = new String(window.location);
	var idxLoc =loc.toLowerCase().indexOf('cve/pt',0);
	var idxLocEN =loc.toLowerCase().indexOf('cve/en',0);
	var selLage=$(".goog-te-combo").val().toLowerCase();
	var selLage2=$('.goog-te-combo').val().toLowerCase();
	
	//alert(selLage2);

	//COMENTADO: Já não se pretende ver a versão inglesa de conteúdos original
	// redirecciona para área inglesa do PE, caso Inglês seleccionado
	/*if(selLage=='en' && idxLoc > 0)
	{
		// Estou a ver a versão portuguesa original e pretendo ver a versão inglesa original
		delete_cookie('googtrans');
		
		// tenho de me redireccionar para a versão inglesa original
		window.location=loc.replace('/pt','/en').substring(0,idxLoc+6);
	}
	else*/ 
	// redirecciona para área portuguesa do PE, caso a ver versão inglesa original do portal seleccionado (não deverá ocorrer pois a area original de ingles deverá ser inactivada)
	
	
	if(selLage=='pt' && idxLocEN > 0) 
	{
		//alert('You will be redirected to the portuguese version of this site!');
		delete_cookie('googtrans');
		window.location=loc.replace('/en','/pt').substring(0,idxLocEN+6);
	}	
	else if(isPaginaServico())
	{
		setServiceLage(selLage);
	}
	else 
		$("#google_translate_elem").hide(); // Esconde a barra de selecção e deixa traduzir
		
	$("#google_translate_elem").hide();
	
}

// Elimina cookie caso seja para apresentar o conteúdo em EN ou PT ou se
function eraseCookies()
{ 
	
	if($(".goog-te-combo").val()!=null && get_cookie('googtrans')!=null)
	{
		var loc = new String(window.location);
		var idxLoc =loc.toLowerCase().indexOf('cve/pt',0);
		var idxLocEN =loc.toLowerCase().indexOf('cve/en',0);
		var selLageEN=get_cookie('googtrans').indexOf('en',0);
		var selLagePT=get_cookie('googtrans').indexOf('pt',0);
	
		//if((selLageEN> 0 && idxLoc > 0) ||(selLagePT> 0 && idxLocEN > 0) ||((selLagePT> 0 || selLageEN> 0) && idxLocEN< 0 && idxLoc < 0)) // caso fosse para traduzir serviços para outras lis que nºao EN ou PT
		if((selLageEN> 0 && idxLoc > 0) ||(selLagePT> 0 && idxLocEN > 0) || isPaginaServico())
		{
			delete_cookie('googtrans');
			//window.location=window.location;
		}
	}
}

// Abter dados de cookie
function get_cookie ( cookie_name )
{
  var results = document.cookie.match ( '(^|;) ?' + cookie_name + '=([^;]*)(;|$)' );

  if ( results )
    return ( unescape ( results[2] ) );
  else
    return null;
}



function set_cookie(name,value,expires,path,domain,secure)
{
    document.cookie = name + "=" +escape(value) +
        ( (expires) ? ";expires=" + expires.toGMTString() : "") +
        ( (path) ? ";path=" + path : "") + 
        ( (domain) ? ";domain=" + domain : "") +
        ( (secure) ? ";secure" : "");
}

// Apagar cookie com o nome mencionado
function delete_cookie ( cookie_name )
{ 
  document.cookie = cookie_name + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/";
}


// Traduzir área de serviços
/* Não utilizado já não se pretende traduzir serviços....do ITIJ!!!
function translateServices() 
{
	// Traduzir página de serviços
	if($('#iframe_service') != null)
	{
		var valor= $('.goog-te-combo').val();
		//alert(valor);
		$('#iframe_service').contents().find("body").translate(valor);
	}
}*/
