<?xml version="1.0" encoding="UTF-8"?>
<Module>

<ModulePrefs title="We Speak Your Language Translator" width="250" height="49" description="When you embed this gadget on your site it lets visitors read your site in their language with Google Translate, over-the-phone interpretation, and professional text translation. We offer to share free access to all of the professional translations we do on your site.  We can follow that up with complete translations and internationalization of your site." author="Jeremy Rice" author_email="jeremy+gadget@rosettainterpreters.com"
category="communication"
category2="tools"
screenshot="http://www.rosettainterpreters.com/xn_resources/widgets/gadget/screenshots/select_your_language.png" thumbnail="http://www.rosettainterpreters.com/xn_resources/widgets/gadget/thumbnails/select_your_language.png" author_location="Illinois" author_affiliation="Rosetta Interpreters" title_url="http://www.rosettainterpreters.com/">
    <Require feature="tabs"/>
    <Require feature="settitle"/>
    <Require feature="opensocial-0.5"/>
    <Locale lang="de" messages="http://www.rosettainterpreters.com/xn_resources/messages/de_ALL.xml"/>
    <Locale lang="en" messages="http://www.rosettainterpreters.com/xn_resources/messages/en_ALL.xml"/>
    <Locale lang="tl" messages="http://www.rosettainterpreters.com/xn_resources/messages/tl_ALL.xml"/>
    <Locale lang="es" messages="http://www.rosettainterpreters.com/xn_resources/messages/es_ALL.xml"/>
    <Locale lang="it" messages="http://www.rosettainterpreters.com/xn_resources/messages/it_ALL.xml"/>
    <Locale lang="ru" messages="http://www.rosettainterpreters.com/xn_resources/messages/ru_ALL.xml"/>
    <Locale lang="pt" messages="http://www.rosettainterpreters.com/xn_resources/messages/pt_ALL.xml"/>
    <Locale lang="fr" messages="http://www.rosettainterpreters.com/xn_resources/messages/fr_ALL.xml"/>
    <Locale lang="ar" messages="http://www.rosettainterpreters.com/xn_resources/messages/ar_ALL.xml"/>
    <Locale lang="zh" messages="http://www.rosettainterpreters.com/xn_resources/messages/zh_ALL.xml"/>
    <Locale lang="nl" messages="http://www.rosettainterpreters.com/xn_resources/messages/nl_ALL.xml"/>
    <Locale messages="http://www.rosettainterpreters.com/xn_resources/messages/ALL_ALL.xml"/>
  </ModulePrefs>
  <UserPref name="siteLanguage" display_name="__MSG_your_sites_language__" default_value="English" datatype="enum">
    <EnumValue value="Abkhazian"/><EnumValue value="Afar"/><EnumValue value="Afrikaans"/><EnumValue value="Akan"/><EnumValue value="Albanian"/><EnumValue value="Amharic"/><EnumValue value="Arabic"/><EnumValue value="Aragonese"/><EnumValue value="Armenian"/><EnumValue value="Assamese"/><EnumValue value="Avaric"/><EnumValue value="Avestan"/><EnumValue value="Aymara"/><EnumValue value="Azerbaijani"/><EnumValue value="Bambara"/><EnumValue value="Bashkir"/><EnumValue value="Basque"/><EnumValue value="Belarusian"/><EnumValue value="Bengali"/><EnumValue value="Bihari"/><EnumValue value="Bislama"/><EnumValue value="Bokmål (Norwegian)"/><EnumValue value="Bosnian"/><EnumValue value="Breton"/><EnumValue value="Bulgarian"/><EnumValue value="Burmese"/><EnumValue value="Catalan; Valencian"/><EnumValue value="Central Khmer"/><EnumValue value="Chamorro"/><EnumValue value="Chechen"/><EnumValue value="Chichewa; Chewa; Nyanja"/><EnumValue value="Chinese"/><EnumValue value="Church Slavic"/><EnumValue value="Chuvash"/><EnumValue value="Cornish"/><EnumValue value="Corsican"/><EnumValue value="Cree"/><EnumValue value="Croatian"/><EnumValue value="Czech"/><EnumValue value="Danish"/><EnumValue value="Divehi; Dhivehi; Maldivian"/><EnumValue value="Dutch"/><EnumValue value="Dzongkha"/><EnumValue value="English"/><EnumValue value="Esperanto"/><EnumValue value="Estonian"/><EnumValue value="Ewe"/><EnumValue value="Faroese"/><EnumValue value="Fijian"/><EnumValue value="Finnish"/><EnumValue value="French"/><EnumValue value="Fulah"/><EnumValue value="Gaelic"/><EnumValue value="Galician"/><EnumValue value="Ganda"/><EnumValue value="Georgian"/><EnumValue value="German"/><EnumValue value="Greek (Modern)"/><EnumValue value="Guarani"/><EnumValue value="Gujarati"/><EnumValue value="Haitian; Haitian Creole"/><EnumValue value="Hausa"/><EnumValue value="Hebrew"/><EnumValue value="Herero"/><EnumValue value="Hindi"/><EnumValue value="Hiri Motu"/><EnumValue value="Hungarian"/><EnumValue value="Icelandic"/><EnumValue value="Ido"/><EnumValue value="Igbo"/><EnumValue value="Indonesian"/><EnumValue value="Interlingua (International Auxiliary Language Association)"/><EnumValue value="Interlingue"/><EnumValue value="Inuktitut"/><EnumValue value="Inupiaq"/><EnumValue value="Irish"/><EnumValue value="Italian"/><EnumValue value="Japanese"/><EnumValue value="Javanese"/><EnumValue value="Kalaallisut; Greenlandic"/><EnumValue value="Kannada"/><EnumValue value="Kanuri"/><EnumValue value="Kashmiri"/><EnumValue value="Kazakh"/><EnumValue value="Kikuyu; Gikuyu"/><EnumValue value="Kinyarwanda"/><EnumValue value="Kirghiz; Kyrgyz"/><EnumValue value="Komi"/><EnumValue value="Kongo"/><EnumValue value="Korean"/><EnumValue value="Kuanyama; Kwanyama"/><EnumValue value="Kurdish"/><EnumValue value="Lao"/><EnumValue value="Latin"/><EnumValue value="Latvian"/><EnumValue value="Limburgan; Limburger; Limburgish"/><EnumValue value="Lingala"/><EnumValue value="Lithuanian"/><EnumValue value="Luba-Katanga"/><EnumValue value="Luxembourgish; Letzeburgesch"/><EnumValue value="Macedonian"/><EnumValue value="Malagasy"/><EnumValue value="Malay"/><EnumValue value="Malayalam"/><EnumValue value="Maltese"/><EnumValue value="Manx"/><EnumValue value="Maori"/><EnumValue value="Marathi"/><EnumValue value="Marshallese"/><EnumValue value="Moldavian"/><EnumValue value="Mongolian"/><EnumValue value="Nauru"/><EnumValue value="Navajo"/><EnumValue value="Ndebele (North)"/><EnumValue value="Ndebele (South)"/><EnumValue value="Ndonga"/><EnumValue value="Nepali"/><EnumValue value="Northern Sami"/><EnumValue value="Norwegian"/><EnumValue value="Nynorsk (Norwegian)"/><EnumValue value="Occitan (post 1500); Provençal"/><EnumValue value="Ojibwa"/><EnumValue value="Oriya"/><EnumValue value="Oromo"/><EnumValue value="Ossetian; Ossetic"/><EnumValue value="Pali"/><EnumValue value="Panjabi; Punjabi"/><EnumValue value="Persian"/><EnumValue value="Polish"/><EnumValue value="Portuguese"/><EnumValue value="Pushto"/><EnumValue value="Quechua"/><EnumValue value="Romanian"/><EnumValue value="Romansh"/><EnumValue value="Rundi"/><EnumValue value="Russian"/><EnumValue value="Samoan"/><EnumValue value="Sango"/><EnumValue value="Sanskrit"/><EnumValue value="Sardinian"/><EnumValue value="Serbian"/><EnumValue value="Shona"/><EnumValue value="Sichuan Yi"/><EnumValue value="Sindhi"/><EnumValue value="Sinhala; Sinhalese"/><EnumValue value="Slovak"/><EnumValue value="Slovenian"/><EnumValue value="Somali"/><EnumValue value="Sotho (Southern)"/><EnumValue value="Spanish"/><EnumValue value="Sundanese"/><EnumValue value="Swahili"/><EnumValue value="Swati"/><EnumValue value="Swedish"/><EnumValue value="Tagalog"/><EnumValue value="Tahitian"/><EnumValue value="Tajik"/><EnumValue value="Tamil"/><EnumValue value="Tatar"/><EnumValue value="Telugu"/><EnumValue value="Thai"/><EnumValue value="Tibetan"/><EnumValue value="Tigrinya"/><EnumValue value="Tonga (Tonga Islands)"/><EnumValue value="Tsonga"/><EnumValue value="Tswana"/><EnumValue value="Turkish"/><EnumValue value="Turkmen"/><EnumValue value="Twi"/><EnumValue value="Uighur; Uyghur"/><EnumValue value="Ukrainian"/><EnumValue value="Urdu"/><EnumValue value="Uzbek"/><EnumValue value="Venda"/><EnumValue value="Vietnamese"/><EnumValue value="Volapük"/><EnumValue value="Walloon"/><EnumValue value="Welsh"/><EnumValue value="Western Frisian"/><EnumValue value="Wolof"/><EnumValue value="Xhosa"/><EnumValue value="Yiddish"/><EnumValue value="Yoruba"/><EnumValue value="Zhuang; Chuang"/><EnumValue value="Zulu"/>
  </UserPref> 
  <UserPref name="phone" display_name="__MSG_site_support_phone__" datatype="string" />
<Content type="html"><![CDATA[

<style type="text/css">
#second table { font-size: 10px; }  /** For some reason, I have to be THIS specific in order to get the small font that I want.  On a normal website, a 'body' selector would have sufficed.  Annoying!  **/

body {
  background-color: #FFFFFF;
  color: #000000;
}

a img {
  border:0px;
}

#flags a img {
  border: 2px solid white;
}

#flags a:hover img{
  border: 2px solid #0000FF;
}

td, th {
  text-align: center;
  padding: 4px;
}

</style>

<div id="zeroth" class="screen">
  <table width="100%" height="100%">
    <tr><td width="100%" height="100%">
    <select id="select_language" style="width:100%" onChange="eval(this.value);">
      <option id="top_option" value="">Select your language</option>

<!-- BEGIN menu0.html -->
        <optgroup id="optgroup_ar" label="العربية">
          <option id="google_translate_ar" value="googleTranslate('ar');">ترجمة Google</option>
          <option id="interpreter_ar" value="interpreter('ar');">اتصل بمترجم للمساعدة</option>
          <option id="text_translation_ar" value="textTranslation('ar');">ترجمة نص</option>
        </optgroup>
        <optgroup id="optgroup_de" label="Deutsch">
          <option id="google_translate_de" value="googleTranslate('de');">Google Übersetzung</option>
          <option id="interpreter_de" value="interpreter('de');">Ruf einen Interpreter an</option>
          <option id="text_translation_de" value="textTranslation('de');">Textübersetzung</option>
        </optgroup>
        <optgroup id="optgroup_en" label="English">
          <option id="google_translate_en" value="googleTranslate('en');">Google Translation</option>
          <option id="interpreter_en" value="interpreter('en');">Call an interpreter</option>
          <option id="text_translation_en" value="textTranslation('en');">Text Translation</option>
        </optgroup>
        <optgroup id="optgroup_es" label="Español">
          <option id="google_translate_es" value="googleTranslate('es');">Traducción de Google</option>
          <option id="interpreter_es" value="interpreter('es');">Llame a un intérprete</option>
          <option id="text_translation_es" value="textTranslation('es');">Traducción de Texto</option>
        </optgroup>
        <optgroup id="optgroup_fr" label="Français">
          <option id="google_translate_fr" value="googleTranslate('fr');">Traduction Google</option>
          <option id="interpreter_fr" value="interpreter('fr');">Appelez un interprète</option>
          <option id="text_translation_fr" value="textTranslation('fr');">Traduction Texte</option>
        </optgroup>
        <optgroup id="optgroup_it" label="Italiano">
          <option id="google_translate_it" value="googleTranslate('it');">Traduzioni Google</option>
          <option id="interpreter_it" value="interpreter('it');">Chiama un traduttore per assistenza</option>
          <option id="text_translation_it" value="textTranslation('it');">Traduzioni di testo</option>
        </optgroup>
        <optgroup id="optgroup_nl" label="Nederlands">
          <option id="google_translate_nl" value="googleTranslate('nl');">Google Vertaling</option>
          <option id="interpreter_nl" value="interpreter('nl');">Bel een vertaler voor hulp</option>
          <option id="text_translation_nl" value="textTranslation('nl');">Tekst Vertaling</option>
        </optgroup>
        <optgroup id="optgroup_pt" label="Português">
          <option id="google_translate_pt" value="googleTranslate('pt');">Tradução Google</option>
          <option id="interpreter_pt" value="interpreter('pt');">Chame uma intérprete para ajuda</option>
          <option id="text_translation_pt" value="textTranslation('pt');">Tradução de Texto</option>
        </optgroup>
        <optgroup id="optgroup_ru" label="Русский">
          <option id="google_translate_ru" value="googleTranslate('ru');">Перевод с помощью Google</option>
          <option id="interpreter_ru" value="interpreter('ru');">Позвонить переводчику</option>
          <option id="text_translation_ru" value="textTranslation('ru');">Перевод текста</option>
        </optgroup>
        <optgroup id="optgroup_tl" label="Tagalog">
          <option id="google_translate_tl" value="googleTranslate('tl');">Pagsasalin ng Google</option>
          <option id="interpreter_tl" value="interpreter('tl');">Tumawag ng tagapagsalin na tutulong</option>
          <option id="text_translation_tl" value="textTranslation('tl');"> Pagsasalin ng Teksto</option>
        </optgroup>
        <optgroup id="optgroup_zh" label="中文">
          <option id="google_translate_zh" value="googleTranslate('zh');">Google 翻译</option>
          <option id="interpreter_zh" value="interpreter('zh');">呼叫一名译员来获取帮助</option>
          <option id="text_translation_zh" value="textTranslation('zh');">文字翻译</option>
        </optgroup>
<!-- END menu0.html -->

      <optgroup label="About"> <!-- same as the About on the first screen -->
        <option value="rosettaInterpreters()">Rosetta Interpreters</option>
        <option value="addThis()">Add this to your site</option>
      </optgroup>
    </select>
    <div id="flags">
      <!-- BEGIN flags.html -->
      <a title="English" onClick="javascript:googleTranslate('en')"><img alt="English" src="http://www.rosettainterpreters.com/xn_resources/widgets/gadget/flags/en.png"/></a>
      <a title="中文" onClick="javascript:googleTranslate('zh')"><img alt="中文" src="http://www.rosettainterpreters.com/xn_resources/widgets/gadget/flags/zh.png"/></a>
      <a title="Español" onClick="javascript:googleTranslate('es')"><img alt="Español" src="http://www.rosettainterpreters.com/xn_resources/widgets/gadget/flags/es.png"/></a>
      <a title="Français" onClick="javascript:googleTranslate('fr')"><img alt="Français" src="http://www.rosettainterpreters.com/xn_resources/widgets/gadget/flags/fr.png"/></a>
      <a title="Deutsch" onClick="javascript:googleTranslate('de')"><img alt="Deutsch" src="http://www.rosettainterpreters.com/xn_resources/widgets/gadget/flags/de.png"/></a>
      <a title="Português" onClick="javascript:googleTranslate('pt')"><img alt="Português" src="http://www.rosettainterpreters.com/xn_resources/widgets/gadget/flags/pt.png"/></a>
      <a title="Italiano" onClick="javascript:googleTranslate('it')"><img alt="Italiano" src="http://www.rosettainterpreters.com/xn_resources/widgets/gadget/flags/it.png"/></a>
      <a title="Add this to your site" onClick="javascript:addThis()"><img alt="Add this to your site" src="http://www.rosettainterpreters.com/xn_resources/widgets/gadget/icons/layout_add.png"/></a>
      <!-- END flags.html -->
    </div>
  </td></tr>
</table>

</div>

<!-- /////////////// DONE WITH SCREEN MARKUP.  BEGIN JAVASCRIPT.  ///////////// -->

<script type="text/javascript" src="http://www.rosettainterpreters.com/xn_resources/javascripts/prototype.js"></script>

<script type="text/javascript">

// this array is taken from messages.json: 
var messages={'ar':{'ar':"العربية",'google_translation':"ترجمة Google",'call_interpreter':"اتصل بمترجم للمساعدة",'text_translation':"ترجمة نص"},'de':{'de':"Deutsch",'google_translation':"Google Übersetzung",'call_interpreter':"Ruf einen Interpreter an",'text_translation':"Textübersetzung"},'en':{'en':"English",'google_translation':"Google Translation",'call_interpreter':"Call an interpreter",'text_translation':"Text Translation"},'es':{'es':"Español",'google_translation':"Traducción de Google",'call_interpreter':"Llame a un intérprete para que le ayude",'text_translation':"Traducción de Texto"},'fr':{'fr':"Français",'google_translation':"Traduction Google",'call_interpreter':"Appelez un interprète si vous avez besoin d'aide",'text_translation':"Traduction Texte"},'it':{'it':"Italiano",'google_translation':"Traduzioni Google",'call_interpreter':"Chiama un traduttore per assistenza",'text_translation':"Traduzioni di testo"},'nl':{'nl':"Nederlands",'google_translation':"Google Vertaling",'call_interpreter':"Bel een vertaler voor hulp",'text_translation':"Tekst Vertaling"},'pt':{'pt':"Português",'google_translation':"Tradução Google",'call_interpreter':"Chame uma intérprete para ajuda",'text_translation':"Tradução de Texto"},'ru':{'ru':"Русский",'google_translation':"Перевод с помощью Google",'call_interpreter':"Позвонить переводчику",'text_translation':"Перевод текста"},'tl':{'tl':"Tagalog",'google_translation':"Pagsasalin ng Google",'call_interpreter':"Tumawag ng tagapagsalin na tutulong",'text_translation':" Pagsasalin ng Teksto"},'zh':{'zh':"中文",'google_translation':"Google 翻译",'call_interpreter':"呼叫一名译员来获取帮助",'text_translation':"文字翻译"}};

/** This array is taken from: http://www.rosettainterpreters.com/dishwasher/index/languages **/
var languageNameToCode = {"Abkhazian":"ab","Afar":"aa","Afrikaans":"af","Akan":"ak","Albanian":"sq","Amharic":"am","Arabic":"ar","Aragonese":"an","Armenian":"hy","Assamese":"as","Avaric":"av","Avestan":"ae","Aymara":"ay","Azerbaijani":"az","Bambara":"bm","Bashkir":"ba","Basque":"eu","Belarusian":"be","Bengali":"bn","Bihari":"bh","Bislama":"bi","Bokmål (Norwegian)":"nb","Bosnian":"bs","Breton":"br","Bulgarian":"bg","Burmese":"my","Catalan; Valencian":"ca","Central Khmer":"km","Chamorro":"ch","Chechen":"ce","Chichewa; Chewa; Nyanja":"ny","Chinese":"zh","Church Slavic":"cu","Chuvash":"cv","Cornish":"kw","Corsican":"co","Cree":"cr","Croatian":"hr","Czech":"cs","Danish":"da","Divehi; Dhivehi; Maldivian":"dv","Dutch":"nl","Dzongkha":"dz","English":"en","Esperanto":"eo","Estonian":"et","Ewe":"ee","Faroese":"fo","Fijian":"fj","Finnish":"fi","French":"fr","Fulah":"ff","Gaelic":"gd","Galician":"gl","Ganda":"lg","Georgian":"ka","German":"de","Greek (Modern)":"el","Guarani":"gn","Gujarati":"gu","Haitian; Haitian Creole":"ht","Hausa":"ha","Hebrew":"he","Herero":"hz","Hindi":"hi","Hiri Motu":"ho","Hungarian":"hu","Icelandic":"is","Ido":"io","Igbo":"ig","Indonesian":"id","Interlingua (International Auxiliary Language Association)":"ia","Interlingue":"ie","Inuktitut":"iu","Inupiaq":"ik","Irish":"ga","Italian":"it","Japanese":"ja","Javanese":"jv","Kalaallisut; Greenlandic":"kl","Kannada":"kn","Kanuri":"kr","Kashmiri":"ks","Kazakh":"kk","Kikuyu; Gikuyu":"ki","Kinyarwanda":"rw","Kirghiz; Kyrgyz":"ky","Komi":"kv","Kongo":"kg","Korean":"ko","Kuanyama; Kwanyama":"kj","Kurdish":"ku","Lao":"lo","Latin":"la","Latvian":"lv","Limburgan; Limburger; Limburgish":"li","Lingala":"ln","Lithuanian":"lt","Luba-Katanga":"lu","Luxembourgish; Letzeburgesch":"lb","Macedonian":"mk","Malagasy":"mg","Malay":"ms","Malayalam":"ml","Maltese":"mt","Manx":"gv","Maori":"mi","Marathi":"mr","Marshallese":"mh","Moldavian":"mo","Mongolian":"mn","Nauru":"na","Navajo":"nv","Ndebele (North)":"nd","Ndebele (South)":"nr","Ndonga":"ng","Nepali":"ne","Northern Sami":"se","Norwegian":"no","Nynorsk (Norwegian)":"nn","Occitan (post 1500); Provençal":"oc","Ojibwa":"oj","Oriya":"or","Oromo":"om","Ossetian; Ossetic":"os","Pali":"pi","Panjabi; Punjabi":"pa","Persian":"fa","Polish":"pl","Portuguese":"pt","Pushto":"ps","Quechua":"qu","Romanian":"ro","Romansh":"rm","Rundi":"rn","Russian":"ru","Samoan":"sm","Sango":"sg","Sanskrit":"sa","Sardinian":"sc","Serbian":"sr","Shona":"sn","Sichuan Yi":"ii","Sindhi":"sd","Sinhala; Sinhalese":"si","Slovak":"sk","Slovenian":"sl","Somali":"so","Sotho (Southern)":"st","Spanish":"es","Sundanese":"su","Swahili":"sw","Swati":"ss","Swedish":"sv","Tagalog":"tl","Tahitian":"ty","Tajik":"tg","Tamil":"ta","Tatar":"tt","Telugu":"te","Thai":"th","Tibetan":"bo","Tigrinya":"ti","Tonga (Tonga Islands)":"to","Tsonga":"ts","Tswana":"tn","Turkish":"tr","Turkmen":"tk","Twi":"tw","Uighur; Uyghur":"ug","Ukrainian":"uk","Urdu":"ur","Uzbek":"uz","Venda":"ve","Vietnamese":"vi","Volapük":"vo","Walloon":"wa","Welsh":"cy","Western Frisian":"fy","Wolof":"wo","Xhosa":"xh","Yiddish":"yi","Yoruba":"yo","Zhuang; Chuang":"za","Zulu":"zu"};

var languageCodeToName = {};
for(name in languageNameToCode){languageCodeToName[languageNameToCode[name]]=name;}

var prefs = new _IG_Prefs();
var siteLanguage = languageNameToCode[prefs.getString("siteLanguage")];
var userLanguage = prefs.getLang().substring(0,2);
var site_url;
var inside_google_translate;  /** true or false **/

/** This array is taken from: http://www.google.com/translate_t 
    Syntax:  googleTranslateSupports[from][to] == true **/

var googleTranslateSupports = {ar:{en:1},
zh:{en:1},
nl:{en:1},
en:{ar:1,zh:1,nl:1,fr:1,de:1,el:1,it:1,ja:1,ko:1,pt:1,ru:1,es:1},
fr:{en:1,de:1},
de:{en:1,fr:1},
el:{en:1},
it:{en:1},
ja:{en:1},
ko:{en:1},
pt:{en:1},
ru:{en:1},
es:{en:1}};

function addThis(){
  parent.location.href = ("http://gmodules.com/ig/directory?synd=open&url=http://www.rosettainterpreters.com/xn_resources/widgets/gadget/gadget.xml");
}
function rosettaInterpreters(){
  parent.location.href = ("http://www.rosettainterpreters.com");
}

function startGadget(){
  // GENERATE #menu
  generateMenu();

  // GENERATE #flags
  sewFlags();

  // Spy (report this URL to RosettaInterpreters.com for marketing purposes)
  //var spyurl = "http://www.rosettainterpreters.com/dishwasher/spy/spy?url="+encodeURIComponent(_args()["source"]);
  //_IG_FetchContent(spyurl, function (responseText){});
}

function googleTranslateURL(userLanguage){
  return "http://www.google.com/translate?u=" + encodeURIComponent(site_url) +
    "&langpair=" + siteLanguage + "%7C" + userLanguage;
}

function interpreterURL(userLanguage){
  caller_info = "Caller is looking at site: " + site_url + "\nSite support number: " + prefs.getString("phone");
  return "http://www.rosettainterpreters.com/profiles/friend/list?language1=" +
    userLanguage + "&language2=" + siteLanguage + "&caller_info=" + encodeURIComponent(caller_info);
}

function textTranslationURL(userLanguage){
  return "http://www.rosettainterpreters.com/texttranslate?" +
    "fromLanguage=" + siteLanguage +
    "&toLanguage=" + userLanguage +
    "&url=" + encodeURIComponent(site_url);
}

function goToIfDiffLang(userLanguage, url){
  if (userLanguage == siteLanguage){
    alert ("Sorry, this page is already in " + languageCodeToName[siteLanguage] + ".  Please select a different language.");
  }
  else {
    trueParent.location.href = url;
  }
}

function textTranslation(userLanguage){goToIfDiffLang(userLanguage,textTranslationURL(userLanguage));}
function interpreter(userLanguage){goToIfDiffLang(userLanguage,interpreterURL(userLanguage));}

function googleTranslate(userLanguage){
  if (userLanguage != siteLanguage){
    if (googleTranslateSupports[siteLanguage][userLanguage]){
      trueParent.location.href = googleTranslateURL(userLanguage);
    }
    else {
      alert ("Sorry, Google Translate can not translate " + languageCodeToName[siteLanguage] + " to " + languageCodeToName[userLanguage] + ".  If you would like to talk to an interpreter on the phone, or get a professional human translation, use the dropdown menu.");
    }
  }
  else if (inside_google_translate){
    // the user probably just wants the original page
    trueParent.location.href = site_url;
  }
  else {
    alert ("Sorry, this page is already in " + languageCodeToName[siteLanguage] + ".  If you would like to talk to an interpreter on the phone, or get a professional human translation, use the dropdown menu.");
  }
}

function generateMenu(){
  var html = '';

  if (userLanguage != "all" && userLanguage != siteLanguage){
    document.getElementById('select_language').replaceChild(
      optgroupDOM(userLanguage),
      document.getElementById('top_option')
    );

    // html += optgroupHTML(userLanguage);
  }

  document.getElementById('select_language').selectedIndex = 0;

  // Remove the Google Translate buttons from languages
  // not supported
  for (langCode in messages){
    if (!googleTranslateSupports[siteLanguage][langCode] && siteLanguage!=langCode){
      var parent = document.getElementById('optgroup_'+langCode);
      var child = document.getElementById('google_translate_'+langCode);
      if (parent && child){
        parent.removeChild(child);
      }
    }
    // html += optgroupHTML(langCode);
  }
  

  // alert(html);
}

function optgroupDOM(langCode){
  var msg = messages[langCode];

  var option = document.createElement("option");
  option.innerHTML = msg['google_translation']; // msg[langCode];

  var optgroup = document.createElement("optgroup");
  optgroup.label = msg[langCode];
  
  //var html = '';
  //if (googleTranslateSupports[siteLanguage][langCode]){
  //  html += "<option value=\"googleTranslate('"+langCode+"');\">"+msg['google_translation']+"</option>\n";
  //}
  //html += "<option value=\"interpreter('"+langCode+"');\">"+msg['call_interpreter']+"</option>\n";
  //html += "<option value=\"textTranslation('"+langCode+"');\">"+msg['text_translation']+"</option>\n";
  //alert(html);
  //optgroup.innerHTML = html;
  //alert(optgroup.innerHTML);

  if (googleTranslateSupports[siteLanguage][langCode]){
    var googleTranslate = document.createElement("option");
    googleTranslate.value="googleTranslate('"+langCode+"');";
    googleTranslate.innerHTML = msg['google_translation'];
    optgroup.appendChild(googleTranslate);
  }
    
  var interpreter = document.createElement("option");
  interpreter.value="interpreter('"+langCode+"');";
  interpreter.innerHTML = msg['call_interpreter'];
  optgroup.appendChild(interpreter);

  var textTranslation = document.createElement("option");
  textTranslation.value="textTranslation('"+langCode+"');";
  textTranslation.innerHTML = msg['text_translation'];
  optgroup.appendChild(textTranslation);
  
  var fragment = document.createDocumentFragment();
  fragment.appendChild(option);
  fragment.appendChild(optgroup);

  return fragment;
}
function optgroupHTML(langCode){
  var msg = messages[langCode]
  var html = "<optgroup label=\""+msg[langCode]+"\">\n";
  if (googleTranslateSupports[siteLanguage][langCode]){
    html += "<option value=\"googleTranslate('"+langCode+"');\">"+msg['google_translation']+"</option>\n";
  }
  html += "<option value=\"interpreter('"+langCode+"');\">"+msg['call_interpreter']+"</option>\n";
  html += "<option value=\"textTranslation('"+langCode+"');\">"+msg['text_translation']+"</option>\n";
  html += "</optgroup>\n";
  return html;
}


function sewFlags(){
  var langs = ['en', 'zh', 'es', 'fr', 'de', 'pt', 'it'];
  /** Supported languages without flags here: 'ar', 'tl', 'ru' **/
  var s = '';

  function clickyThing(js, alt, image){
    return "<a title=\""+alt+"\" onClick=\"javascript:"+js+"\"><img alt=\""+alt+"\" src=\""+image+"\" /></a>";
  }

  for (var i=0; i < langs.length; i++){
    s += clickyThing("googleTranslate('"+langs[i]+"')",messages[langs[i]][langs[i]],"http://www.rosettainterpreters.com/xn_resources/widgets/gadget/flags/"+langs[i]+".png");
  }
  
  /**
  s += clickyThing("alert('More languages: use the box above.');",
       "More languages: use the box above.",
       "http://www.rosettainterpreters.com/xn_resources/widgets/gadget/icons/dotdotdot.png");
  **/


  s += clickyThing("addThis()",
       "Add this to your site",
       "http://www.rosettainterpreters.com/xn_resources/widgets/gadget/icons/layout_add.png");

  $('flags').innerHTML = s;
}

// If we're ALREADY inside a Google Translated page, then
// redirect to a page where the user language is set
// correctly, based on the langpair the Google Translate
// url.
site_url = '';
if ((_args()["source"]).match("https?:\/\/[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\/translate_c\\\?")){
  // we're inside Google Translate
  site_url = decodeURIComponent(_args()["source"].match("&u=([^&]*)")[1]);
  userLanguage = _args()["source"].match('(?:&|\\?)langpair=..(?:%7C|\|)(..)')[1];
  inside_google_translate = true;  
}
else {
  site_url = _args()["source"];
  inside_google_translate = false;
}

var trueParent = inside_google_translate ? parent.parent : parent;


/** We have to get rid of the 'lang' argument so that Google is forced
    to guess the language of the user, not the language preference
    of the site owner.  We do this by redirecting to a page
    where the 'lang' and 'country' arguments have been renamed
    to 'disabled_lang' and 'disabled_country'.  **/
if (((_args()['lang'] != undefined) || (_args()['country'] != undefined)) && !_args()['allow_lang'] && _args()['source'].indexOf("http://gmodules.com/ig/creator") && !inside_google_translate){
  var tmp = document.location.toString();
    /** toString is necessary because document.location is an object
        with a different 'replace' function **/
  tmp = tmp.replace("\&lang=", "&disabled_lang=");
  tmp = tmp.replace("\?lang=", "?disabled_lang=");
  tmp = tmp.replace("\&country=", "&disabled_country=");
  tmp = tmp.replace("\?country=", "?disabled_country=");
  document.location.replace(tmp); // go to the fixed url
  // don't startGadget(), because we are now navigating
  // away from this page.
}
else {
  startGadget();
}

</script>

]]></Content>
</Module>
