
    function translate_google(div, lang, finish) {
      var txt = document.getElementById(div);
	  var text = txt.value;
      if (text.length > 0) {
          $(finish).innerHTML = "<br>Detect language...";
          google.language.detect(text, function(result) {
            if (!result.error) {
              var language = result.language;
              if (language) {
                doTranslation(text, language, div, lang, finish);
              }
              else {
                $(finish).innerHTML = "<br>Language detection failed or language not supported.";
              }  
            }
            else {
              $(finish).innerHTML = result.error.message;              
            }
          });          
      } 
    }


    function doTranslation(text, source, div, lang, finish) {
      $(finish).innerHTML = "<br>Translating...";
	  if (lang.match(/-/i)) {
		var langu = lang.split('-');
		var lang = langu[0];
	  }
      google.language.translate(text, source, lang, function(result) {
        if (!result.error) {
          var container = document.getElementById(finish);
          container.innerHTML = '<br><hr>'+result.translation;
        }
        else {
          $(finish).innerHTML = '<br>'+result.error.message;
        }
      });      
    }
	
    function translate_google_translations(div, lang, finish, var_id) {
      var txt = document.getElementById(div);
	  var text = txt.value;
      if (text.length > 0) {
          $(finish).innerHTML = "<strong>AUTOMATED TRANSLATION:</strong> Trying to detect language...";
          google.language.detect(text, function(result) {
            if (!result.error) {
              var language = result.language;
              if (language) {
                doTranslation_translations(text, language, div, lang, finish, var_id);
              }
              else {
                $(finish).innerHTML = "<strong>AUTOMATED TRANSLATION ERROR:</strong> Language detection failed or language not supported.";
              }  
            }
            else {
              $(finish).innerHTML = result.error.message;              
            }
          });          
      } 
    }


    function doTranslation_translations(text, source, div, lang, finish, var_id) {
      $(finish).innerHTML = "<strong>AUTOMATED TRANSLATION:</strong> Translating...";

	  if (lang.match(/-/i)) {
		var langu = lang.split('-');
		var lang = langu[0];
	  }
	  
      google.language.translate(text, source, lang, function(result) {
        if (!result.error) {
          var container = document.getElementById(finish);
		  
          container.innerHTML = '<strong>PLEASE REVIEW THIS AUTOMATED TRANSLATION:</strong><br /><a href="#" onclick="var textbox = document.getElementById(\'translation_'+var_id+'\');textbox.value=\''+result.translation+'\'; return false;" rel="tipsy_south" title="Click to add this translation to the text box">'+result.translation+'</a>';
		  jQuery('*[rel=tipsy_south]').tipsy({fade: false, gravity: 's'});

        }
        else {
          $(finish).innerHTML = "<strong>AUTOMATED TRANSLATION ERROR:</strong> "+result.error.message;
        }
      });      
    }

