// ----------------- FUNKCE PRO FORMULARE ----------------- //

// funkce pro sestaveni jednoho radku
function addRow() {
  var i = rowIndex; // index - cislo radku

  var myTable = T_gobj('seznam_zbozi');
  var tBody = myTable.getElementsByTagName('tbody')[0];

  // vytvoreni novych elementu
  var rowid = 'seznam_zbozi_row'+i;
  var newTR = document.createElement('tr');
  var newTD0 = document.createElement('td');
  var newTD1 = document.createElement('td');
  var newTD2 = document.createElement('td');
  var newTD3 = document.createElement('td');
  var newTD4 = document.createElement('td');
  var newTD5 = document.createElement('td');
  newTR.id = rowid;
  newTD0.style.verticalAlign = 'top';
  newTD1.style.verticalAlign = 'top';
  newTD2.style.verticalAlign = 'top';
  newTD3.style.verticalAlign = 'top';
  newTD4.style.verticalAlign = 'top';
  newTD5.style.verticalAlign = 'top';

  // obsah bunek
  newTD0.innerHTML = '<span class="alert"><a href="#" onclick="if(confirm(\'Opravdu chcete tuto položku smazat?\')) {delRow('+i+'); return false;}" title="Smazat">X<\/a><\/span>';
  newTD1.innerHTML = '<span class="vyrazne" id="seznam_zbozi_rownr'+i+'">'+rowNr+'<\/span>';
  newTD2.innerHTML = '<span id="span_typ'+i+'"><select class="sform" id="fid_typ'+i+'" name="typ'+i+'" style="width: 220px" onchange="addTextInputOther(\''+i+'\',\'typ\'); changeSelects(\''+i+'\');"><option value="">-- Vyberte --<\/option>'+skupiny+'<option value="other">VlastnÃ­...<\/option><\/select><\/span><span id="span_typ'+i+'_other"><\/span>';
  newTD3.innerHTML = '<span id="span_trida'+i+'"><select class="sform" id="fid_trida'+i+'" name="trida'+i+'" style="width: 155px" disabled="disabled"><\/select><\/span><span id="span_trida'+i+'_other"><\/span>';
  newTD4.innerHTML = '<span id="span_rozmer'+i+'"><select class="sform" id="fid_rozmer'+i+'" name="rozmer'+i+'" style="width: 155px" disabled="disabled"><\/select><\/span><span id="span_rozmer'+i+'_other"><\/span>';
  newTD5.innerHTML = '<input class="sform" id="fid_ks'+i+'" name="ks'+i+'" size="10" value="1" \/>';

  // bunky priradit radku
  newTR.appendChild(newTD0);
  newTR.appendChild(newTD1);
  newTR.appendChild(newTD2);
  newTR.appendChild(newTD3);
  newTR.appendChild(newTD4);
  newTR.appendChild(newTD5);

  // radek vlozit do tabulky
  tBody.appendChild(newTR);

  // zmenit index
  rowIndex += 1;
  rowNr += 1;
  T_gobj('fid_rowindex').value = rowIndex;
}

// funkce na generovani selectu podskupin a rozmeru podle id skupiny
// - pokud neexistuji, volame na konci addTextOther()
function changeSelects(i) {
  s = T_gobj('fid_typ'+i).value; // zjisteni skupiny

  // vytvoreni selectu
  var tridaOpts = '';
  var rozmerOpts = '';
  if(s!='' && typeof podskupiny[s]!='undefined') tridaOpts = podskupiny[s];
  if(s!='' && typeof rozmery[s]!='undefined') rozmerOpts = rozmery[s];
  var otherOpts = '<option value="other">VlastnÃ­...<\/option>';
  var tridaSelect = '';
  var rozmerSelect = '';
  if(s!='') {
    tridaSelect = '<select class="sform" id="fid_trida'+i+'" name="trida'+i+'" style="width: 155px" onchange="addTextInputOther(\''+i+'\',\'trida\');">'+tridaOpts+otherOpts+'<\/select>';
    rozmerSelect = '<select class="sform" id="fid_rozmer'+i+'" name="rozmer'+i+'" style="width: 155px" onchange="addTextInputOther(\''+i+'\',\'rozmer\');">'+rozmerOpts+otherOpts+'<\/select>';
  } else {
    tridaSelect = '<select class="sform" id="fid_trida'+i+'" name="trida'+i+'" style="width: 155px" disabled="disabled"><\/select>';
    rozmerSelect = '<select class="sform" id="fid_rozmer'+i+'" name="rozmer'+i+'" style="width: 155px" disabled="disabled"><\/select>';
  }

  // zmena selectu
  T_gobj('span_trida'+i).innerHTML = tridaSelect;
  T_gobj('span_rozmer'+i).innerHTML = rozmerSelect;

  // pridani text-inputu pro zadani vlastnich hodnot
  addTextInputOther(i,'trida');
  addTextInputOther(i,'rozmer');
}

// funkce prida text-input, pokud je vybrano vlastni
function addTextInputOther(i,type) {
  value = T_gobj('fid_'+type+i).value; // zjisteni hodnoty
  if(value=='other') {
    var r = '<br \/><input class="sform" id="fid_'+type+i+'_other" name="'+type+i+'_other" size="10" style="width: 149px" \/>';
    T_gobj('span_'+type+i+'_other').innerHTML = r;
  } else {
    T_gobj('span_'+type+i+'_other').innerHTML = '';
  }
}

// smaze pozadovany radek
function delRow(i) {
  var myTable = T_gobj('seznam_zbozi');
  var tBody = myTable.getElementsByTagName('tbody')[0];

  // projet vsechny radky, ktere jsou za odmazavanym a zmenit jim cislo radku (neni treba posouvat vsechny nasledujici polozky o jednu vys)
  for(x=(i+1); x<=rowIndex; x++) {
    if(T_gobj('seznam_zbozi_rownr'+x)) {
      y = Number(T_gobj('seznam_zbozi_rownr'+x).innerHTML)-1;
      T_gobj('seznam_zbozi_rownr'+x).innerHTML = y; //x (resp y) pocitane od 0, zatimco cisla radku od 1, takze neni treba odecitat jednicku
    }
  }

  var rowid = 'seznam_zbozi_row'+i;
  tBody.removeChild(T_gobj(rowid));
  rowNr -= 1;
}

