// The language and search portion was based on a sample that is copyright (c) Google. 

	google.load("language", "1"); // 1 is a magic number
    	
	function startTranslating() {
		var t = contentDiv.innerHTML;
		translate(t);
	}
	
	function translateBackAndForth(text, fromLanguage, toLanguage) {
		google.language.translate(text, fromLanguage, toLanguage, function(result) {
			var forth = "";
			var back = "";
			
			if (result.translation) { 
				forth = result.translation;
				
				// this happens to be nice for this particular Web page, but it's a side effect of the function
								
				google.language.translate(forth, toLanguage, fromLanguage , function(result) {
					if (result.translation) {
						back = result.translation;
						translation = back;
						updateTranslationPhrases(back, forth, toLanguage, fromLanguage);
												
					}
				});
				}
			});
	}
	
	var languages = new Array( "ja", "es", "fi", "sq", "de", "es", "ko", "it", "no", "nl", "tr", "ru", "fr", "pt", "hi", "cs", "he", "zh", "ro", "ca", "th");
	// "ta", "hy", "vt" do not seem to work 
	var i = 8;
	var translation = ""; 
	
	function translate(text) {
	  // Google has been best at providing translators back and forth from English, so we always route through English. It's also funny.
      translateBackAndForth(text, "en", r(languages));
    }
	
	function updateTranslationPhrases(back, forth, toLanguage, fromLanguage) {
		translations.innerHTML += "(" + toLanguage + ") " + forth;
		contentDiv.innerHTML += back;
		
		if (i-- > 0) {
			translateBackAndForth(translation, "en", r(languages));
		}
	}

