/*
 *  obsluha formulare
 */

var myForm = new myForms();

function myForms() {
  // main functions
  this.submit    = myForms_submit;
  this.addRow    = myForms_addRow;
  this.removeRow = myForms_removeRow;
  // helper functions
  this.reindexRows = myForms_reindexRows;
  this.getEl       = myForms_getEl;
  // other functions
  this.flip = myForms_flip;
}

function myForms_submit() {
  var formObject = document.formular;
  var podminka = (formObject.prezdivka.value == '')
              || (formObject.mesto.value == '')
              || ( (formObject.imejl.value == '') || (formObject.imejl.value.indexOf('@') == -1) || (formObject.imejl.value.indexOf(' ') == 1) );
  //alert('in: '+podminka);
  //alert( formObject.imejl.value.indexOf(' ') == 1 );
  if ( !podminka ) {
    return true;
  } else {
    alert('Vynechal(a) jste nebo jste špatně zadal(a) některý povinných údajů.');
    return false;
  }
}

function myForms_addRow(e) {
  var tg = e.target ? e.target : e.srcElement;
  var pTD = tg.parentNode;
  var pTR = pTD.parentNode;
  var pTBODY = pTR.parentNode;
  var pTABLE = pTBODY.parentNode;
  // naklonuj vykonnovy element
  var newEL = this.getEl(pTR);
  newEL = newEL.cloneNode(false);
  var rowsLength = pTBODY.rows.length;
  var identity = newEL.getAttribute('name').split('[')[0] + '[' + rowsLength + ']';
  newEL.setAttribute('name', identity);
  // pridej novou radku
  pTBODY.insertRow(rowsLength);
  var tmpEL = pTBODY.rows[rowsLength];
  tmpEL.insertCell(0);
  tmpEL.cells[0].appendChild(newEL); 
  tmpEL.insertCell(1);
  tmpEL.cells[1].colSpan = 3;
  var newHTML = '&#160;<span class="AddRemove" onclick="myForm.addRow(event)" title="přidej další řádek">+</span>';
  newHTML    += '&#160;/&#160;';
  newHTML    += '<span class="AddRemove" onclick="myForm.removeRow(event)" title="odstraň tento řádek">-</span>';
  tmpEL.cells[1].innerHTML = newHTML;
  // precisluj indexy
  this.reindexRows(pTABLE);
}

function myForms_removeRow(e) {
  var tg = e.target ? e.target : e.srcElement;
  var pTD = tg.parentNode;
  var pTR = pTD.parentNode;
  var pTBODY = pTR.parentNode;
  var pTABLE = pTBODY.parentNode;
  // odstran tuto radku
  pTBODY.deleteRow( pTR.sectionRowIndex );
  // precisluj indexy
  this.reindexRows(pTABLE);
}

function myForms_reindexRows(onTable) {
  var rowsLength = onTable.rows.length;
  var newEL, identity;
  for (var i=0; i<rowsLength; i++) {
    newEL = this.getEl(onTable.rows[i]);
    identity = newEL.getAttribute('name').split('[')[0] + '[' + i + ']';
    newEL.setAttribute('name', identity);
  }
}

function myForms_getEl(onRow) {
  var tmpEL = onRow.cells[0];
  // IE5 bohuzel neumi getElementsByTagName('*')...
  if (tmpEL.getElementsByTagName('INPUT').length == 0) {
    return tmpEL.getElementsByTagName('TEXTAREA')[0];
  } else {
    return tmpEL.getElementsByTagName('INPUT')[0];
  }
}

function myForms_flip(elID) {
  var el = document.getElementById(elID);
  if (el.className == 'prvekSchovan') {
    el.className = 'prvekUkazan';
  } else {
    el.className = 'prvekSchovan';
  }
}

