/* $Id: translator.js 22305 2011-03-21 15:24:32Z mbi $ */

// required tags:
var HTMLTags = new Array("td", "p", "span", "legend", "div");

//--------------------------------------------------------------

function getLanguage() {

  switch(language) {
    case "E": return(1);
    case "F": return(2);
    case "I": return(3);
    default: return(0);
  }

} /* getLanguage() */

//--------------------------------------------------------------

function translate(fr, text) {
  // do nothing:
  if((text == null) || (text == "")) return("");
  // do not translate multiline text sequences:
  if(text.indexOf(String.fromCharCode(10)) >= 0) return(text);//text

	var l = getLanguage();
	var txt = convert(text);

  // search text in fr.Translate:
  if(fr && fr.Translate) {
	  for(var i = 0; i < fr.Translate.length; i++) {
	    if(fr.Translate[i][0] == txt) return(enconvert(fr.Translate[i][l]));
	  }
	}

  // search text in top.Translate:
  if(Translate) {
	  for(var i = 0; i < Translate.length; i++) {
	    if(Translate[i][0] == txt) return(enconvert(Translate[i][l]));
	  }
	}

  return(text);//text

} /* translate() */

// --------------------------------------------------------------
function translateTT(text){
		
	// do nothing:
  if((text == null) || (text == "")) return("");
  // do not translate multiline text sequences:
  if(text.indexOf(String.fromCharCode(10)) >= 0) return(text);//text
  
  var l = getLanguage();
	var txt = convert(text);
	
	for(var i = 0;i < Translate.length;i++){
		 if(Translate[i][0] == txt) return(enconvert(Translate[i][l]));
		}
	return("");//text
}

//--------------------------------------------------------------

function translateObject(fr, obj) {

  // do nothing:
  if((obj == null) || (obj == undefined) || (obj.innerText == null) || (obj.innerText == "")) return;
  if((obj.children.length > 0) || (obj.innerText.replace(/\s/g,"") == "")) return;
  //if((obj.className == null) || (obj.className == "")) return;
  
  //do not translate input, select with promos value ...
	if(obj.noTranslate !=null)return;

  // save origin text as key:
  if((obj.originText == null) || (obj.originText == "")) {
    obj.originText = obj.innerText;
  }

  // replace text:
  var text = translate(fr, obj.originText);
  if((text != null) && (text != "")) obj.innerText = text;

} /* translateObject() */

//--------------------------------------------------------------

function translatePage(fr) {

  try {add_ocm(fr.frameElement);} catch(e) {}
  try {add_okd(fr.frameElement);} catch(e) {}
  for(var j = 0; j < HTMLTags.length; j++) {
    var tag = HTMLTags[j];
    for(var i = 0; i < fr.document.getElementsByTagName(tag).length; i++) {
      translateObject(fr, fr.document.getElementsByTagName(tag)[i]);
    }
  }

} /* translatePage() */

//--------------------------------------------------------------

function convert(txt) {
	txt = txt.replace(/ä/g,"&auml;");
	txt = txt.replace(/ö/g,"&ouml;");
	txt = txt.replace(/ü/g,"&uuml;");
	txt = txt.replace(/Ä/g,"&Auml;");	
	txt = txt.replace(/Ö/g,"&Ouml;");
	txt = txt.replace(/Ü/g,"&Uuml;");
	txt = txt.replace(/ß/g,"&szlig;");
	txt = txt.replace(/à/g,"&agrave;");
	txt = txt.replace(/è/g,"&egrave;");
	txt = txt.replace(/ù/g,"&ugrave;");
	txt = txt.replace(/ò/g,"&ograve;");
	txt = txt.replace(/ì/g,"&igrave;");
	txt = txt.replace(/â/g,"&acirc;");	
	txt = txt.replace(/ê/g,"&ecirc;");
	txt = txt.replace(/î/g,"&icirc;");
	txt = txt.replace(/ô/g,"&ocirc;");
	txt = txt.replace(/û/g,"&ucirc;");
	txt = txt.replace(/ç/g,"&ccedil;");	
	txt = txt.replace(/é/g,"&eacute;");	
	txt = txt.replace(/À/g,"&Agrave;");
	txt = txt.replace(/É/g,"&Eacute;");
	txt = txt.replace(/È/g,"&Egrave;");
	txt = txt.replace(/Ò/g,"&Ograve;");
	txt = txt.replace(/Ì/g,"&Igrave;");
	return txt;
} /* convert() */

//--------------------------------------------------------------

function enconvert(txt) {
	txt = txt.replace(/&auml;/g,"ä");
	txt = txt.replace(/&ouml;/g,"ö");
	txt = txt.replace(/&uuml;/g,"ü");
	txt = txt.replace(/&Auml;/g,"Ä");
	txt = txt.replace(/&Ouml;/g,"Ö");
	txt = txt.replace(/&Uuml;/g,"Ü");
	txt = txt.replace(/&szlig;/g,"ß");
	txt = txt.replace(/&agrave;/g,"à");
	txt = txt.replace(/&egrave;/g,"è");
	txt = txt.replace(/&ugrave;/g,"ù");	
	txt = txt.replace(/&ograve;/g,"ò");
	txt = txt.replace(/&igrave;/g,"ì");
	txt = txt.replace(/&acirc;/g,"â");		
	txt = txt.replace(/&ecirc;/g,"ê");
	txt = txt.replace(/&icirc;/g,"î");
	txt = txt.replace(/&ocirc;/g,"ô");
	txt = txt.replace(/&ucirc;/g,"û");
	txt = txt.replace(/&eacute;/g,"é");
	txt = txt.replace(/&ccedil;/g,"ç");
	txt = txt.replace(/&Agrave;/g,"À");
	txt = txt.replace(/&Eacute;/g,"É");
	txt = txt.replace(/&Egrave;/g,"È");
	txt = txt.replace(/&Ograve;/g,"Ò");
	txt = txt.replace(/&Igrave;/g,"Ì");
	return txt;

} /* enconvert() */

//--------------------------------------------------------------
