/**
 * Package: Maps
 * Author: Pavel Janda (www.jandic.com)
 * 
 * Defines functions for text translations  
 */ 
 
var LANG_MARKER_START = "lang_";
var LANG_MARKER_END = "/lang_";
var LANG_TAG_OPEN = "[";
var LANG_TAG_CLOSE = "]";
var LANG_ALL = "all";

/**
 * Function extracts only the text valid for the given language from the parameter.
 * Example: "Common text together with [lang_cs]czech text[lang_cs] vsuvka [lang_all] and [lang_all][lang_en]english text[/lang_en]." 
 */
function TranslateText(text, language) {
  var parts = text.split(LANG_TAG_OPEN + LANG_MARKER_START);
  var translation = "";
  
  for (var i = 0; i < parts.length; i++) {
    var subparts = parts[i].split(LANG_TAG_CLOSE);  // result should be language, text, (additional text)
    if (subparts.length == 1) {
      // just text, add it to result
      translation = translation + subparts[0];
    } else {
      var part_lang = subparts[0];
      if (part_lang == language || part_lang == LANG_ALL) {
        // process text in the middle of tags
        var index = subparts[1].indexOf(LANG_TAG_OPEN);
        if (index == -1)
          translation = translation + subparts[1];
        else
          translation = translation + subparts[1].substring(0, index);
      }
      
      if (subparts.length == 3) {
        // additional text, just add it to result
        translation = translation + subparts[2];
      }
    }
  }
  
  return translation;
}

