var Staty; var Tarif; var Zbozi; var Kosik;
var Obsah; var Jeden; var Nakup; var Cenik;
var Zdroj = false;

function FmtCislo(Num, Typ) 
{ var i;
  var txt = new String();
  var ext = new String();
  txt = Num.toString();
  i = txt.lastIndexOf(".");
  if (Typ < 0) ext = ',-'; else ext = '.00'
  if (i < 0) {txt += ext; i=txt.length-ext.length;}
  else if (i > (txt.length-3)) {txt = txt + '0'; i=txt.length-3;} 
  txt = txt.substring(0, (i+3));
  if (i == 0) txt= '0' + txt;
  while (txt.length < Typ) txt = ' ' + txt;
  return txt;
}

function TstPocet(Pct)
{ if ((Pct.value != '') && isNaN(parseInt(Pct.value,10)))
  { alert('Not a Number !!!');
    Pct.value=''; Pct.focus();
    return false;
  }
  else if(Pct.value != '') Pct.value=Math.abs(parseInt(Pct.value,10));
  return true;
}

function TstPosta(Eml) 
{ var i, j, m;
  var Adr;
  Adr = Eml.value;
  if (Adr == '') return false;
  m = 0; i = 0; j = Adr.length-1; 
  while (Adr.charAt(i) == ' ') { m = 1; i++; }
  while (Adr.charAt(j) == ' ') { m = 1; j--; }
  Adr = (i<=j)?Adr.substring(i, j+1):'';
  i = TstEmail(Adr);
  if ((Adr != '') && (i > 0))
  { alert('Wrong e-mail address !\n\n' + Adr + '   \n' + Adr.substr(0, i-1) + '^   ');
    Eml.focus(); //Eml.select(); 
  }
  else if (m != 0) Eml.value = Adr;
  return false;
}

function vyhledat(Modul)
{ var Tst;

  if ( (Zdroj) && ((typeof Obsah) != "undefined") ) return true;
  Zdroj = false;
  Tst=parent.parent; 
  switch (Modul)
  { case 1:  Obsah=document.FormKosik; break;
    case 2:  Jeden=document.FormZbozi; break;
    case 3:  Nakup=document.FormNakup; break;
    case 4:  Cenik=document.FormCenik; break;
    default: Modul = 9; break; 
  }
  if ((typeof Cenik != "undefined") && (typeof Tst.InfoZbozi == "undefined")) Tst = window;
  if (typeof Tst.InfoZbozi == "undefined") { alert('The catalogue is not accessible'); return false;}
  if (typeof Tst.InfoKosik == "undefined") { alert('The basket is not accessible'); return false;}
  Zbozi=Tst.InfoZbozi;  Kosik=Tst.InfoKosik;
  Staty=Tst.InfoStaty;  Tarif=Tst.InfoTarif;
  if (Modul != 1)
  { if (typeof Tst.HEAD == "undefined")   
    { if ((Modul == 9) && ((typeof Cenik) == "undefined")) alert('Contents of the basket is not accessible'); }
    else Obsah=Tst.HEAD.document.FormKosik; 
  }
  Zdroj = true; 
  if ((typeof document.forms[0]._Zdroj) != "undefined") document.forms[0]._Zdroj.value=document.location.protocol + 'init';
  return true;
}

function zobrazit()
{ var i, j;
  if ((! Zdroj) && (! vyhledat(9))) return false;
  if ((typeof Obsah) != "undefined")
  { Obsah.kusy.value='       '.substr(0, 5 - Kosik.kusy.toString().length) + Kosik.kusy + ' / ' + Kosik.druhy;
    switch (Obsah.mena.selectedIndex)
    { case 0: Obsah.cena.value=FmtCislo(Kosik.cena, 9); break;
      case 1: Obsah.cena.value=FmtCislo(Kosik.cena/KEUR, 9); break;
      case 2: Obsah.cena.value=FmtCislo(Kosik.cena/KUSD, 9); break;
      default: Obsah.cena.value='- - -';
    }
  }
  if ((typeof Cenik) != "undefined")
  { j = poplatek(Kosik.vaha);
    Cenik._Vaha.value=Kosik.vaha;
    if (Cenik._Hmotnost) Cenik._Hmotnost.value='        '.substring(0,7-Cenik._Vaha.value.length) + Kosik.vaha;

    Cenik._CenaCZK.value=FmtCislo(Kosik.cena, 8);
    Cenik._CenaEUR.value=FmtCislo(Kosik.cena/KEUR, 8);
    Cenik._CenaUSD.value=FmtCislo(Kosik.cena/KUSD, 8);

    if ((j==0) && (Cenik._005_region[Cenik._005_region.selectedIndex].value==''))
    { Cenik._PostaCZK.value='?';
      Cenik._PostaEUR.value='?';
      Cenik._PostaUSD.value='?';
    }
    else
    { Cenik._PostaCZK.value=FmtCislo(j, 8);
      Cenik._PostaEUR.value=FmtCislo(j/KEUR, 8);
      Cenik._PostaUSD.value=FmtCislo(j/KUSD, 8);
    }

    Cenik._SumaCZK.value=FmtCislo((Kosik.cena + j), 8);
    Cenik._SumaEUR.value=FmtCislo((Kosik.cena + j)/KEUR, 8);
    Cenik._SumaUSD.value=FmtCislo((Kosik.cena + j)/KUSD, 8);
  }
  return true;
}

function nastavit(Modul)
{ var i, j, cnt;
  var Tmp;
  if ((! Zdroj) && (! vyhledat(Modul))) return false;
  Tmp=Cenik;
  switch (Modul)
  { case 1: zobrazit(); break;
    case 2: i=eval(Jeden.ID.value);
            if (typeof Zbozi[i] == "undefined") 
            { alert('Bad catalogue number!');
              return false;
            };
            if (Zbozi[i].kusy > 0) Jeden.kusy.value=Zbozi[i].kusy;
            else Jeden.kusy.value='';
            break;
    case 3: Tmp=Nakup;
    case 4: if (typeof Tmp == "undefined") { alert('Bad Form !'); return false;}
            for (cnt=j=0; j < Tmp.length; j++)
            { if (Tmp[j].type != "text") continue;
              i=IdfCislo(Tmp[j].name);
              if (i == 0) continue;
              if ((typeof eval(Zbozi[i]) != "undefined") && (Zbozi[i].kusy > 0))
              { Tmp[j].value = Zbozi[i].kusy;
                cnt++;
              }
              else 
                Tmp[j].value = '';
            }
            if ((cnt != Kosik.druhy) && (Modul == 4)) 
            { alert('Some articles are sold out !!!');
              Kosik.kusy=0; Kosik.vaha=0; Kosik.cena=0; Kosik.druhy=0;
              for (i in Zbozi) Zbozi[i].kusy = 0;
              for (cnt=j=0; j < Tmp.length; j++)
              { if (Tmp[j].type != "text") continue;
                i=IdfCislo(Tmp[j].name);
                if (i == 0) continue;
                if ( (Tmp[j].value != "") && (! isNaN(Tmp[j].value)) && ( (Zbozi[i].kusy = eval(Tmp[j].value)) > 0 ) )
                { Kosik.kusy += Zbozi[i].kusy;  Kosik.druhy++;
                  Kosik.vaha += Zbozi[i].kusy * Zbozi[i].vaha;
                  Kosik.cena += Zbozi[i].kusy * Zbozi[i].cena;
                }
              }
            }
            zobrazit();
            break;
    default: alert('??? Modul:' + Modul); break; 
  }
  if ((typeof Obsah) == "undefined") Zdroj = false;
  return true;
}


function objednat(Prvek)
{ var i, j;
  var Tmp;
  if ((! Zdroj) && (! vyhledat(9))) return false;
  if (typeof Prvek != "object") return false;
  do
  { if (Prvek == Cenik) { Tmp=Cenik; break;}
    if (Prvek == Nakup) { Tmp=Nakup; break;}
    if (Prvek == Jeden) { i=eval(Jeden.ID.value); Prvek=Prvek.kusy; break;}
    else                { i=IdfCislo(Prvek.name); break;}
  } while (false);

  if (typeof Tmp == "undefined") 
  { if (Prvek.value != "") TstPocet(Prvek);
    if (typeof Zbozi[i] == "undefined") alert('Illegal catalogue number ! ' + i);
    else
    { if ( (Zbozi[i].kusy) > 0 )
      { Kosik.cena -= Zbozi[i].kusy * Zbozi[i].cena;
        Kosik.vaha -= Zbozi[i].kusy * Zbozi[i].vaha;
        Kosik.kusy -= Zbozi[i].kusy;  Kosik.druhy--;
        Zbozi[i].kusy = 0;
      }
      if ( (Prvek.value != "") && (! isNaN(Prvek.value)) && ( (Zbozi[i].kusy = eval(Prvek.value)) > 0 ) )
      { Kosik.kusy += Zbozi[i].kusy;  Kosik.druhy++;
        Kosik.vaha += Zbozi[i].kusy * Zbozi[i].vaha;
        Kosik.cena += Zbozi[i].kusy * Zbozi[i].cena;
      }
    }
  }
  else if (Prvek == Tmp)
  { for (j=0; j < Tmp.length; j++)
    { if (Tmp[j].type != "text") continue;
      i=IdfCislo(Tmp[j].name);
      if (i == 0) continue;
      if (typeof Zbozi[i] == "undefined") {alert('Illegal catalogue number ! ' + i); continue;}
      if (isNaN(Tmp[j].value)) Tmp[j].value = '';
      if (Tmp[j].value != '') 
      { Tmp[j].value=Math.floor(Math.abs(eval(Tmp[j].value)));
        Zbozi[i].kusy = eval(Tmp[j].value);
      }
      else 
        Zbozi[i].kusy = 0;
    }

    Kosik.kusy=0; Kosik.vaha=0; Kosik.cena=0; Kosik.druhy=0;
    for (i in Zbozi)
    { if (typeof eval(Zbozi[i]) != "undefined") 
        if ( (Zbozi[i].kusy) > 0 )
        { Kosik.kusy += Zbozi[i].kusy;  Kosik.druhy++;
          Kosik.vaha += Zbozi[i].kusy * Zbozi[i].vaha;
          Kosik.cena += Zbozi[i].kusy * Zbozi[i].cena;
        }
    }
  }
  else alert('Element: ' + Tmp);
  zobrazit();

  return true;
}

// ----- Cenik -----

function kus(Pct) {TstPocet(Pct); if ((Zdroj)||((typeof Kosik)!="undefined")) objednat(Pct); return true;}

function poplatek(Hmt)
{ var i, j, Tmp;
  if (Hmt <= 0) return 0;
  j=Math.floor(Hmt/Tarif.Lmt[21]);
  Hmt=Hmt-j*Tarif.Lmt[21];
  for (i=0; i <= 21; i++) if (Hmt < Tarif.Lmt[i]) break;
  if (i > 21) return 0;
  Rgn = Cenik._005_region[Cenik._005_region.selectedIndex].value;
  if (Rgn=='')
  { if (Cenik._002_Adresa.value!='') alert('Please, select the country to calculate the postage.');
    return 0;
  }
  Cenik._006_stat.value = Cenik._005_region[Cenik._005_region.selectedIndex].text;
  if (typeof Staty[Rgn] == "undefined") Rgn='Ost';
  if ( ((j>0) || (i>3)) && (Staty[Rgn].Zon!='') ) Rgn=Staty[Rgn].Zon; else Rgn=Staty[Rgn].Rgn;
  if ((Rgn!='Cze') && (Cenik._008_platba.selectedIndex == 1)) Tmp=150; else Tmp=0;
  return Math.ceil(Tmp+1.20*(Tarif[Rgn][i] + j * Tarif[Rgn][21]));
}

function kontrola()
{ if ( document.forms[0]._005_region[document.forms[0]._005_region.selectedIndex].value=='') { alert('Please, select the country to calculate the postage.'); return false; }
  if ((document.forms[0]._001_Jmeno.value == "") || 
      (document.forms[0]._002_Adresa.value == "" && document.forms[0]._004_mailfrom.value == "")) 
  { alert('\nFill in name, address and e-mail, please!'); return false; }
  if ((Zdroj) && (Kosik.kusy == 0)) 
  { alert('\nFill in the required quantity, please!'); return false; }
  if (Cenik._Hmotnost) Cenik._Hmotnost.value=''; 
  if ((typeof document.forms[0]._Zdroj) != "undefined") document.forms[0]._Zdroj.value='eng-'+document.location.protocol;
  return true;
}

function anulovat()
{ var i, j;
  if (confirm(' All data in the Form will be deleted ! \n\n Do You want to continue ?'))
  { if (Zdroj)
    { Kosik.kusy = 0; Kosik.vaha = 0; Kosik.cena = 0; Kosik.druhy = 0; 
      for (i in Zbozi) Zbozi[i].kusy = 0;
      window.setTimeout('zobrazit();', 100); 
      return true; 
    }
  }
  else
    return false;
}
