var selectorZIndex = 2;

$(document).ready(function() {
   var s1 = $("#lang-selector-1");
   if (s1.length > 0)   {
      var lang_list = buildLangList(1, LANGSFULL, ACTIVE_LANG1);
      s1.html("<span>You&nbsp;learn:</span><a href='javascript:langDropDown(1);' class='open-selector' id='open-selector-1'><img src='" + HOME + "/images/lang/" + ACTIVE_LANG1 + ".png' /></a>" + lang_list);
   }

   var s2 = $("#lang-selector-2");
   if (s2.length > 0)   {
      var lang_list = buildLangList(2, LANGSFULL, ACTIVE_LANG2);
      s2.html("<span>You&nbsp;know:</span><a href='javascript:langDropDown(2);' class='open-selector' id='open-selector-2'><img src='" + HOME + "/images/lang/" + ACTIVE_LANG2 + ".png' /></a>" + lang_list);
   }

   var s0 = $("#lang-selector");
   if (s0.length > 0)   {
      var lang_list = buildLangList(0, LANGS, ACTIVE_LANG2);
      s0.html("<span>Language&nbsp;being&nbsp;learned:</span><a href='javascript:langDropDown(0);' class='open-selector' id='open-selector-0'><img src='" + HOME + "/images/lang/" + ACTIVE_LANG1 + ".png' /></a>" + lang_list);
   }
});

function buildLangList(kind, langs, active)
{
   var lang_name = (2 == kind) ? "lang2" : "lang1";
   var lang_list = "<div class='lang-list none' id='lang-list-" + kind + "' class='none'>";
   for (var i = 0, len = langs.length; i < len; i++)   {
      var img_url = HOME + "/images/lang/" + langs[i].lang + ".png";
      var href, aclass;
      if (active == langs[i].lang)  {
         href = "javascript:langDropDown(" + kind + ");";
         aclass = "class='active'";
      }  else  {
         href = "javascript:activateLanguage(\"" + lang_name + "\"      , \"" + langs[i].lang + "\")";
         aclass = "";
      }
      //var aclass = (active == langs[i].lang) ? "class='active'" : "";
      //var href = "javascript:activateLanguage('" + lang_name + "', \"" + langs[i].lang + "\")";
      lang_list += "<a href='" + href + "' " + aclass + " style='background-image:url(" + img_url + ");'>" + langs[i].text + "</a>";
   }
   lang_list += "</div>";

   return lang_list;
}

function langDropDown(kind) {
   var lang_selector_id = "lang-selector-" + kind;
   var selector_id = "open-selector-" + kind;
   var list_id = "lang-list-" + kind;

   if ($("#" + selector_id).hasClass("active"))  {
      $("#" + list_id).hide("fast");
      $("#" + selector_id).removeClass("active");
   }  else  {
      $("#" + list_id).show("fast");
      $("#" + selector_id).addClass("active");
      $("#" + lang_selector_id).css("z-index", ++selectorZIndex);
   }
}

function activateLanguage(lang_name, lang)
{

   if ("undefined" != typeof(PAGE) && "index" == PAGE)   {
      var old1 = ACTIVE_LANG1;
      var old2 = ACTIVE_LANG2;

      if ("lang1" == lang_name) ACTIVE_LANG1 = lang;
      if ("lang2" == lang_name) ACTIVE_LANG2 = lang;

      if (ACTIVE_LANG2 == ACTIVE_LANG1 && 'lang2' == lang_name)   {
         if (old2 != ACTIVE_LANG2)  {
            ACTIVE_LANG1 = old2;
         }  else  {
            if (ACTIVE_LANG2 == "en")  {
               ACTIVE_LANG1 = "fr";
            }  else  {
               ACTIVE_LANG1 = "en";
            }
         }
      }
      location = HOME + "/" + ACTIVE_LANG1 + "/" + ACTIVE_LANG2;
      //location.search = Math.random();
   }  else  {
      var params = {};
      params[lang_name] = lang;
      $.get(HOME + "/serv/store_option.php?" + Math.random(), params, function(xml, textStatus) {
         location.search = Math.random();
      });
   }
}