﻿Vyraz = function()
{
   var sSlovo = "";
   var sPoradi = "";
   var oWindow = null;
   
   this.Slovo = function()
   {
      return sSlovo;
   }

   this.Poradi = function()
   {
      return sPoradi;
   }
    
   this.Window = function()
   {
      return oWindow;
   }
   
   this.Use = function(sSlovoPar, sPoradiPar, oWindowPar)
   {
      sSlovo = sSlovoPar;
      sPoradi = sPoradiPar;
      oWindow = oWindowPar;
   }
}

Vyraz.qBoxiky = new Array();

Vyraz.Find = function(sSlovo, sPoradi)
{
   var oReturn = null;
   var iBoxiku = Vyraz.qBoxiky.length;
   for (var iBoxik = 0; iBoxik < iBoxiku; iBoxik++)
   {
      var oBoxik = Vyraz.qBoxiky[iBoxik];
      if (oBoxik.Slovo() == sSlovo && oBoxik.Poradi() == sPoradi)
      {
         oReturn = oBoxik;
         break;
      }
   }
   return oReturn;
}

Vyraz.Ajax = function(sSlovo, sPoradi)
{
   var oAjax = new Tygrik.Ajax();
   oAjax.Parameter("Slovo", Tygrik.Change.ReplaceIgnore(encodeURI(sSlovo), "%", "~~~"));
   oAjax.Parameter("Poradi", sPoradi);
   oAjax.DoGet("Vyraz", "Vyraz.onFire");
}

Vyraz.Show = function(sSlovo, sPoradi)
{
   var oOboxik = Vyraz.Find(sSlovo, sPoradi);
   var oWindow = null;
   if (oOboxik == null)
   {
      oBoxik = new Vyraz();
      
      oWindow = new Tygrik.Window();
      oWindow.Create("Window_Vyraz_" + Tygrik.Change.ToUrl(sSlovo) + "_" + sPoradi, "Link_" + sSlovo + "_" + sPoradi, 440, 270, "WindowDefault");
      
      oBoxik.Use(sSlovo, sPoradi, oWindow);
      Vyraz.qBoxiky[Vyraz.qBoxiky.length] = oBoxik;
   }
   else
   {
      oWindow = oBoxik.Window();
   }

   Vyraz.Ajax(sSlovo, sPoradi);
   oWindow.Show();
}

Vyraz.onFire = function(sResult)
{
   var qPars = sResult.split(Tygrik.Change.MarkerDo(Tygrik.MarkerVyraz));
   if (qPars.length == 3)
   {
      var sSlovo = qPars[0];
      var sPoradi = qPars[1];
      var sRest = qPars[2];
      var oBoxik = Vyraz.Find(sSlovo, sPoradi);
      if (oBoxik != null)
      {
         oBoxik.Window().DoFire(sRest);
      }
   }
}

Vyraz.Hide = function(sSlovo, sPoradi)
{
   var oBoxik = Vyraz.Find(sSlovo, sPoradi);
   if (oBoxik != null)
   {
      oBoxik.Window().Exit("Vyraz.Exit");
      oBoxik.Window().Hide();
   }
}

Vyraz.Exit = function(sID)
{
   var iFound = -1;
   var iBoxiku = Vyraz.qBoxiky.length;
   for (var iBoxik = 0; iBoxik < iBoxiku; iBoxik++)
   {
      var oBoxik = Vyraz.qBoxiky[iBoxik];
      if (oBoxik.Window().ID() == sID)
      {
         oBoxik.Window().Destroy();
         oBoxik.Use("", "", null)
         iFound = iBoxik;
         break;
      }
   }
   if (iFound != -1)
   {
      Vyraz.qBoxiky.splice(iFound, 1);
   }
}

