var originalMenu;
var originalLinks;
var originalLeftContent;
var originalRightContent;
var leftcontentdivs;
var rightcontentdivs;
var originalPopupContent;
var nrLeftDiv;
var workingLeftDiv;
var runningLeft;
var language = null;
var translation = 0;
var xmlHttp;
var originalHome;

function saveOriginals(){
	originalMenu = document.getElementById("menu").innerHTML;
	originalLinks = document.getElementById("toplinkstekst").innerHTML;

	originalHome = new Array();
	for ( i = 0; i < 8; i++){
		try{
			originalHome[i] = document.getElementById("block" + i).innerHTML;
		} catch (e){
			originalHome[i] = null;
		}
	}


	originalLeftContent = new Array();
	var contentcount = 0;
	try{
		leftcontentdivs = document.getElementById("moveleftcontent").getElementsByTagName("div");
	} catch (e){
		leftcontentdivs = null;
	}
	if (leftcontentdivs != "" && leftcontentdivs != null){
		for(var i = 0; i < leftcontentdivs.length; i++){
			var classname = leftcontentdivs[i].className;
			if (classname == "contentwithlines" || classname == "contentwithtopline" || classname == "contentwithbottomline" || classname == "contentwithoutlines"){
				originalLeftContent[contentcount] = leftcontentdivs[i].innerHTML;
				contentcount++;
			}
		}
	}

	originalRightContent = new Array();
	contentcount = 0;
	try{
		rightcontentdivs = document.getElementById("moverightcontent").getElementsByTagName("div");
	} catch (e){
		rightcontentdivs = null;
	}
	if (rightcontentdivs != "" && rightcontentdivs != null){
		for(var i = 0; i < rightcontentdivs.length; i++){
			var classname = rightcontentdivs[i].className;
			if (classname == "contentwithlines" || classname == "contentwithtopline" || classname == "contentwithbottomline" || classname == "contentwithoutlines"){
				originalRightContent[contentcount] = rightcontentdivs[i].innerHTML;
				contentcount++;
			}
		}
	}
}

function init() {
	google.language.getBranding('branding', { type : 'vertical' });
}

function translateMenu(translationnr){
	var localcontent = originalMenu;
	google.language.translate(localcontent, "", language,
		function(result) {
			if (result.translation && translationnr == translation) {
				document.getElementById("menu").innerHTML = result.translation;
			}
		}
	);
}

function translateLinks(translationnr){
	var localcontent = originalLinks;
	google.language.translate(localcontent, "", language,
		function(result) {
			if (result.translation && translationnr == translation) {
				document.getElementById("toplinkstekst").innerHTML = result.translation;
			}
		}
	);
}

function translateLeft(translationnr, divnr, itemnr){
	var localcontent = originalLeftContent[itemnr];
	google.language.translate(localcontent, "", language,
		function(result) {
			if (result.translation && translationnr == translation) {
				document.getElementById("moveleftcontent").getElementsByTagName("div")[divnr].innerHTML = result.translation;
				showArrows();
			}
		}
	);
}

function translateRight(translationnr, divnr, itemnr){
	var localcontent = originalRightContent[itemnr];
	google.language.translate(localcontent, "", language,
		function(result) {
			if (result.translation && translationnr == translation) {
				document.getElementById("moverightcontent").getElementsByTagName("div")[divnr].innerHTML = result.translation;
				showArrows();
			}
		}
	);
}

function translateHome(translationnr, itemnr){
	var localcontent = originalHome[itemnr];
	google.language.translate(localcontent, "", language,
		function(result) {
			if (result.translation && translationnr == translation) {
				document.getElementById("block" + itemnr).innerHTML = result.translation;
			}
		}
	);
}

function GetXmlHttpObjectLang(){
	var xmlHttp=null;
	try {
		// Firefox, Opera 8.0+, Safari
		xmlHttp=new XMLHttpRequest();
	} catch (e) {
		// Internet Explorer
		try {
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
		} catch (ex) {
			xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	return xmlHttp;
}

function translate(newlanguage) {
	if(language == null){
		saveOriginals();
	}	
	if( newlanguage != null && newlanguage != "null" && newlanguage != '' && newlanguage != 'original'){
		language = newlanguage;
		translation++;
		
		translateMenu(translation);
		translateLinks(translation);
		for (var i = 0; i < 8; i++){
			try{translateHome(translation, i);} catch (e){}
		}

		var count = 0;
		for(var i = 0; i < leftcontentdivs.length; i++){
			var classname = leftcontentdivs[i].className;
			if (classname == "contentwithlines" || classname == "contentwithtopline" || classname == "contentwithbottomline" || classname == "contentwithoutlines"){
				translateLeft(translation, i, count);
				count++;
			}
		}
		
		count = 0;
		
		for(var i = 0; i < rightcontentdivs.length; i++){
			var classname = rightcontentdivs[i].className;
			if (classname == "contentwithlines" || classname == "contentwithtopline" || classname == "contentwithbottomline" || classname == "contentwithoutlines"){
				translateRight(translation, i, count);
				count++;
			}
		}

		xmlHttp = new GetXmlHttpObjectLang();
		if (xmlHttp===null) {
			return;
		} 
		xmlHttp.open("GET","?lang=" + language ,true);
		xmlHttp.send(null);
	} else if(newlanguage == 'original' && translation > 0){
		language = newlanguage;
		translation++;

		document.getElementById("menu").innerHTML = originalMenu;
		document.getElementById("toplinkstekst").innerHTML = originalLinks;
		
		for (var i = 0; i < 8; i++){
			try{document.getElementById("block" + i).innerHTML = originalHome[i];} catch(e){}
		}

		if (leftcontentdivs != "" && leftcontentdivs != null){
		
			var count = 0;
			for(var i = 0; i < leftcontentdivs.length; i++){
				var classname = leftcontentdivs[i].className;
				if (classname == "contentwithlines" || classname == "contentwithtopline" || classname == "contentwithbottomline" || classname == "contentwithoutlines"){
					document.getElementById("moveleftcontent").getElementsByTagName("div")[i].innerHTML = originalLeftContent[count];
					count++;
				}
			}
		}

		if (rightcontentdivs != "" && rightcontentdivs != null){
			var count = 0;
			for(var i = 0; i < rightcontentdivs.length; i++){
				var classname = rightcontentdivs[i].className;
				if (classname == "contentwithlines" || classname == "contentwithtopline" || classname == "contentwithbottomline" || classname == "contentwithoutlines"){
					document.getElementById("moverightcontent").getElementsByTagName("div")[i].innerHTML = originalRightContent[count];
					count++;
				}
			}
		}
		
		showArrows();

		xmlHttp = new GetXmlHttpObject();
		if (xmlHttp===null) {
			return;
		} 
		xmlHttp.onreadystatechange = stateChanged;
		xmlHttp.open("GET","?lang=" + newlanguage ,true);
		xmlHttp.send(null);
	}
}

function savePopupOriginals(){
	originalPopupContent = document.getElementById("popuptext").innerHTML;
}

function translatePopup(newlanguage){
	if(newlanguage != null && newlanguage != '' && newlanguage != 'original'){
		var localcontent = originalPopupContent;
		google.language.translate(localcontent, "", newlanguage,
			function(result) {
				if (result.translation) {
					document.getElementById("popuptext").innerHTML = result.translation;
				}
			}
		);
	}
}
