(function()
{
	if (!document.createRange || !window.getSelection)
		document.getElementById('democontent').innerHTML = "Your browser does not support DOM Range and/or the HTML5 Text Selection APIs.  To run this demo, you'll need both.  Please download the latest IE Platform Preview build.";
})();

function translateBing(elms, from, to, callback)
{
  document.getElementById('translateStatus').innerHTML = "";

  function notifyTranslate(elm, msg, color)
  {
	if (!msg)
		msg = "Translating...";
		
	if (!color)
		color = "green";
		
	elm.innerHTML = msg;
	elm.style.color = color;
  }
  
  var translateElm = document.getElementById('translateStatus');
  
  function translate(elm)
  {
    notifyTranslate(translateElm);
    if (elm.innerHTML)
    {
	// The call to setTimeout is to work around a timing issue we have in the PPB.
	try
	{
	  setTimeout(function() { Microsoft.Translator.translate(elm.innerHTML, from, to, function(translation)
		{
			elm.innerHTML = translation;
			if (elm.nextSibling)
				translate(elm.nextSibling);
			else
			{
				notifyTranslate(translateElm, 'Translation complete!');
				callback();
			}
		}); }, function() { notifyTranslate(translateElm, 'Translation Failed!', 'red'); }, 5);
	}
	catch(e)
	{
	  notifyTranslate(translateElm, 'Translation Failed!', 'red');
	}
    }
    else
    {
	if (elm.nextSibling)
		translate(elm.nextSibling);
	else
	{
		notifyTranslate(translateElm, 'Translation complete!');
		callback();
	}
    }
  }
  
  if (elms[0].firstChild)
  {
	translate(elms[0].firstChild);
  }
}

function setBorder(tree)
{
}

var jazyk = "";
var pole_menu = new Array();
var pole_menu_cs = new Array();

function tr_menu(j) {
  if(j!="cs"){
    if (jazyk == ""){
      jazyk = j;
      pole_menu = ["tr_a", "tr_a1", "tr_a2", "tr_a3", "tr_a4", "tr_a5", "tr_a6", "tr_a7",
                   "tr_b", "tr_b1", "tr_b2",
                   "tr_d", "tr_d1", "tr_d2", "tr_d3", "tr_d4"];
    }
    var oRange1 = document.createRange();
    var oP1 = document.getElementById(pole_menu[0]);
    pole_menu.shift();
    oRange1.selectNodeContents(oP1);
    oRange1.execCommand(translateBing, Range.COMMAND_TYPE_ASYNC | Range.COMMAND_TYPE_NO_SELECT, 'cs', jazyk);
    timer1 = setInterval(tr_status_changed, 400);
    if(pole_menu.length == 0 ) {
      clearInterval(timer1);
      setCookie('jazyk_menu',jazyk);
      jazyk = "";
      var a = document.getElementById("link2tr_menu");
      a.style.display = "block";

    }
  } else {
      setCookie('jazyk_menu','cs');
      jazyk = "";
      var a = document.getElementById("link2tr_menu");
      a.style.display = "block";
  }
}

function tr_status_changed() {
  var check_tr_status = document.getElementById("translateStatus");
  if(check_tr_status.innerHTML == "Translation complete!" && pole_menu.length > 0 ) {
    tr_menu(jazyk);
  }
}

function select_lang(j1) {
  var oRange1;
  var oP1;
  var a = document.getElementById("link2tr_menu");
  a.style.display = "none";

  pole_menu = ["tr_a", "tr_a1", "tr_a2", "tr_a3", "tr_a4", "tr_a5", "tr_a6", "tr_a7",
               "tr_b", "tr_b1", "tr_b2",
               "tr_d", "tr_d1", "tr_d2", "tr_d3", "tr_d4"];
  for(var i=0;i<pole_menu_cs.length;i++){
    oRange1 = document.createRange();
    oP1 = document.getElementById(pole_menu[i]);
    oP1.innerHTML = pole_menu_cs[i] + "";
  }
  tr_menu(j1);
}

function init_translate_menu() {
  var oRange1;
  var oP1;
  var a = document.getElementById("link2tr_menu");
  a.style.display = "none";

  pole_menu = ["tr_a", "tr_a1", "tr_a2", "tr_a3", "tr_a4", "tr_a5", "tr_a6", "tr_a7",
               "tr_b", "tr_b1", "tr_b2",
               "tr_d", "tr_d1", "tr_d2", "tr_d3", "tr_d4"];


  for(var i=0;i<pole_menu.length;i++){
    oRange1 = document.createRange();
    oP1 = document.getElementById(pole_menu[i]);
    oRange1.selectNodeContents(oP1);
    pole_menu_cs[i] = oRange1 + "";
  }
  var j1 = ""; //getCookie('jazyk_menu');
  if(j1!=""){
    jazyk = j1;
    tr_menu(j1);
  } else {
    a.style.display = "block";
  }
}

function setCookie(set_language,j)
{
  document.cookie=set_language+ "=" + j + ";expires=30";
}

function getCookie(set_language)
{
  if (document.cookie.length>0)
  {
  c_start=document.cookie.indexOf(set_language + "=");
  if (c_start!=-1)
    {
    c_start=c_start + set_language.length+1;
    c_end=document.cookie.indexOf(";",c_start);
    if (c_end==-1) c_end=document.cookie.length;
      return unescape(document.cookie.substring(c_start,c_end));
    }
  }
  return "";
}
var timer1;
init_translate_menu();

