/*
*  Functions that create either a list language selector or drop down language selector.
*  Based on the language iso code _xx in the filename and the following meta tags: Path, Basename, Language, Available languages.  
*/

//Javascript activation
function activateJavaScriptClass() {
                document.body.className = "javascript";
}
//function that gets the language iso code and returns the language name - supports 23 European languages
function iso_to_language_name(language_iso) {
  var output = "";

  switch(language_iso)
{
case "bg":
  output = "български";
  break;
case "cs":
  output = "Čeština";
  break;
case "da":
  output = "Dansk";
  break;
case "de":
  output = "Deutsch";
  break;
case "et":
  output = "Eesti keel";
  break;
case "el":
  output = "Ελληνικά";
  break;
case "en":
  output = "English";
  break;
case "es":
  output = "Español";
  break;
case "fr":
  output = "Français";
  break;
case "ga":
  output = "Gaeilge";
  break;
case "it":
  output = "Italiano";
  break;
case "lv":
  output = "Latviešu valoda";
  break;
case "lt":
  output = "Lietuvių kalba";
  break;
case "hu":
  output = "Magyar";
  break;
case "mt":
  output = "Malti";
  break;
case "nl":
  output = "Nederlands";
  break;
case "pl":
  output = "Polski";
  break;
case "pt":
  output = "Português";
  break;
case "ro":
  output = "română";
  break;
case "sk":
  output = "Slovenčina";
  break;
case "sl":
  output = "Slovenščina";
  break;
case "fi":
  output = "Suomi";
  break;
case "sv":
  output = "Svenska";
  break;

default:
output = language_iso;
}
return output;
}


//function that looks for the available languages and builds either a list of links or a dropdown menu for language control
function draw_language_control(type) {
  //defining variables
  var path;
  var basename;
  var current_language;
  var available_languages;
  var output = "";

  //getting the inforamtion needed from the meta tags
  var metaCollection = document.getElementsByTagName('meta');
  for ( i=0 ; i<metaCollection.length ; i++ ) {
    if ( metaCollection[i].name == 'path' )     { path = metaCollection[i].content; }
    if ( metaCollection[i].name == 'basename' ) { basename = metaCollection[i].content; }
	if ( metaCollection[i].name == 'language' ) { current_language = metaCollection[i].content; }
	if ( metaCollection[i].name == 'available_languages' )     { available_languages = metaCollection[i].content; }
  }

  //getting the availale languages, outputting them into an Array and ordering it alphabethicaly. Supports "de,en,fr" or "de en fr" or "en"
  if (available_languages.indexOf(",") > -1) {
    var available_languages_array = available_languages.split(",");
  } else if (available_languages.indexOf(" ") > -1) {
    var available_languages_array = available_languages.split(" ");
  } else if (available_languages.length == 2) {
    var available_languages_array = new Array(available_languages);
  }
  available_languages_array.sort();

//drawing an unordered list of links (Guidance style)
if (type == "list") {
  for ( i=0 ; i<available_languages_array.length; i++ ) {
    output = output + '<li class="' + available_languages_array[i] + '"><a href="' + path + basename + '_' + available_languages_array[i] + '.html"><acronym ';
    if (available_languages_array[i] == current_language){output = output + 'class="on" ';}
    output = output + 'title="' + iso_to_language_name(available_languages_array[i]) + '">' + available_languages_array[i] + '</acronym></a></li> ';
  }

  document.write('<ul>' + output + '</ul>');
}
//drawing a dropdown menu (FP7 style)
else if (type == "dropdown") {
  for ( i=0 ; i<available_languages_array.length; i++ ) {
    output = output + '<option ';
    if (available_languages_array[i] == current_language){output = output + 'selected ';}
	output = output + 'value="' + path + basename + '_' + available_languages_array[i] + '.html">' + iso_to_language_name(available_languages_array[i]) + ' (' + available_languages_array[i] + ')</option>';
  }

  document.write('<form action="#" id="lgg" class="lang" name="lgg"><select name="languages" onchange="location.href=this.options[this.selectedIndex].value">' + output + '</select></form>');
}

}