/*
	Javascript from keul.it - manage browser language
	by Keul - Ago 2006
*/

/*
	Hide or show the correct element in this page, looking at browser lang.
	Translable text must be inside a container with an id that can be passed to the function or must be
	equal to 'translable', or finally the script check the entire document.
	The parameter forceLang overwrite the browser language.
*/
function checkTranslation(event, forceLang, idTransElem) {
	transBlock = $('translable');
	if (transBlock==null) transBlock = document;
	
	lang = (forceLang!=null?forceLang:getLanguage());
	
	if (lang.indexOf('en') > -1) lang = "en";
	
	translables = getElementsByClassName(transBlock, "*", "transalted");
	
	for (var x=0;x<translables.length;x++) {
		elem = translables[x];
		langElem = elem.getAttribute("xml:lang");
		if (langElem!=lang) elem.style.display="none";
		else elem.style.display="";
	}
	
	transBlock.style.display="block";
	
	// refresh the translation portlet
	portlet = $('translation-portlet');
	if (portlet!=null) {
		translables = getElementsByClassName(portlet, "*", "transalted");

		for (var x=0;x<translables.length;x++) {
			elem = translables[x];
			langElem = elem.getAttribute("xml:lang");
			if (langElem!=lang) elem.style.display="none";
			else elem.style.display="";
		}
		portlet.style.display="block";
	}
}

/*
	Get browser language
*/
function getLanguage() {
	if (typeof(navigator.browserLanguage) == "string")
		return navigator.browserLanguage;
	else if (typeof(navigator.userLanguage) == "string")
		return navigator.userLanguage;
	else if (typeof(navigator.language) == "string")
		return navigator.language;
	else
		return "it";
}

if (typeof document.attachEvent!='undefined') {
	window.attachEvent('onload',checkTranslation);
} else {
	window.addEventListener('load',checkTranslation,false);
}