    google.load("language", "1");
    google.setOnLoadCallback(init);

    function init() {
      var src = document.getElementById('src');
      var dst = document.getElementById('dst');
      var i=0;
      for (l in google.language.Languages) {
        var lng = l.toLowerCase();
        var lngCode = google.language.Languages[l];
        if (google.language.isTranslatable(lngCode)) {
          src.options.add(new Option(lng, lngCode,lngCode=='en'?1:0));
          dst.options.add(new Option(lng, lngCode,lngCode=='fr'?1:0));
        }
      }

      google.language.getBranding('branding', { type : 'horizontal' });

      submitChange();
    }

    function submitChange() {
      var value = document.getElementById('source').value;
      var src = document.getElementById('src').value;
      var dest = document.getElementById('dst').value;
      google.language.translate(value, src, dest, translateResult);
      return false;
    }

    function translateResult(result) {
      var resultBody = document.getElementById("results_body");
      if (result.translation) {
        var str = result.translation.replace('>', '&gt;').replace('<', '&lt;');
        resultBody.innerHTML = str;
      } else {
        resultBody.innerHTML = '<span style="color:red">Error Translating</span>';
      }
    }