// otevreni odkazu do noveho okna
function popup(url) {
  wasOpen = false;
  win = window.open(url);    
  return (typeof(win) == 'object')?true:false;
}

// duplikovani bunek
function duplicate(hodnota,tagid) {
  var element = document.getElementById(tagid);
  element.value = hodnota;
}

// zobrazeni spravne varianty formulare
function subjekt(hodnota) {
  var form = document.getElementById('formular');
  var pravnickaOsoba = document.getElementById('pravnicka-osoba');
  var podnikatel = document.getElementById('podnikatel');
  var nepodnikatel = document.getElementById('nepodnikatel');
  
  var subjekt_pole = new Array("organizace_nazev","organizace_ulice","organizace_mesto","organizace_psc","organizace_ico","organizace_dic");
  var podnikatel_pole = new Array("podnikatel_jmeno_prijmeni","podnikatel_ulice","podnikatel_mesto","podnikatel_psc","podnikatel_ico","podnikatel_dic");
  var nepodnikatel_pole = new Array("nepodnikatel_jmeno_prijmeni","nepodnikatel_ulice","nepodnikatel_mesto","nepodnikatel_psc","nepodnikatel_narozeni");
  
  if (hodnota == 0) {
    if (form.objednavajici[0].checked) {
      hodnota = 1;
      podnikatel.style.display = 'none';
      nepodnikatel.style.display = 'none';
      varianta(hodnota);
    }
    else if (form.objednavajici[1].checked) {
      hodnota = 2;
      pravnickaOsoba.style.display = 'none';
      nepodnikatel.style.display = 'none';
      varianta(hodnota);
    }
    else if (form.objednavajici[2].checked) {
      hodnota = 3;
      pravnickaOsoba.style.display = 'none';
      podnikatel.style.display = 'none';
      varianta(hodnota);
    }
    else {
      pravnickaOsoba.style.display = 'none';
      podnikatel.style.display = 'none';
      nepodnikatel.style.display = 'none';
    }
  }
  else {
    if (hodnota == 1) {
      pravnickaOsoba.style.display = '';
      podnikatel.style.display = 'none';
      nepodnikatel.style.display = 'none';
    }
    else if (hodnota == 2) {
      pravnickaOsoba.style.display = 'none';
      podnikatel.style.display = '';
      nepodnikatel.style.display = 'none';
    }
    else if (hodnota == 3) {
      pravnickaOsoba.style.display = 'none';
      podnikatel.style.display = 'none';
      nepodnikatel.style.display = '';
    }

    if (hodnota == 1) changePole(form,hodnota,subjekt_pole,podnikatel_pole,nepodnikatel_pole,2,3);
    else if (hodnota == 2) changePole(form,hodnota,subjekt_pole,podnikatel_pole,nepodnikatel_pole,1,3);
    else changePole(form,hodnota,subjekt_pole,podnikatel_pole,nepodnikatel_pole,1,2);
  }
}

function changePole(form,hodnota,subjekt_pole,podnikatel_pole,nepodnikatel_pole,closea,closeb) {
  if (hodnota == 1) { var delka_pole = subjekt_pole.length; var pole = subjekt_pole; }
  else if (hodnota == 2) { var delka_pole = podnikatel_pole.length; var pole = podnikatel_pole; }
  else { var delka_pole = nepodnikatel_pole.length; var pole = nepodnikatel_pole; }

  for (var i = 0; i < delka_pole; i++) {
    var element = "form."+pole[i];
    element = eval(element);
    element.disabled = false;
  }

  if (closea == 1 || closeb == 1) {
    for (var i = 0; i < subjekt_pole.length; i++) {
      var element = "form."+subjekt_pole[i];
      element = eval(element);
      element.disabled = true;
    }
  }
  if (closea == 2 || closeb == 2) {
    for (var i = 0; i < podnikatel_pole.length; i++) {
      var element = "form."+podnikatel_pole[i];
      element = eval(element);
      element.disabled = true;
    }
  }
  if (closea == 3 || closeb == 3) {
    for (var i = 0; i < nepodnikatel_pole.length; i++) {
      var element = "form."+nepodnikatel_pole[i];
      element = eval(element);
      element.disabled = true;
    }
  }
}

// zjistíme si, co uzivatel macka na klavese
function getkey(e) {
  var code;
  if (!e) var e = window.event; // nastaveni pro IE
  if (e.keyCode) code = e.keyCode; // IE a Mozilla
  else {
    if (e.which) code = e.which; // NN4?
  }

  return code; 
}

// povoleni pouze numerickych znaku vcetne dalsich vybranych klaves
function numeric(eX) {
  test = getkey(eX);
  // seznamy klavesovych zkratek, ktere mohou byt pouzity
  // (backspace, TAB, ENTER, carka, tecka a pak numericke znaky)
  var seznam = new Array(8,9,13,44,46,48,49,50,51,52,53,54,55,56,57);
  var nalezeno = false;
    
  for (var i = 0; i < seznam.length; i++) {
    if (test == seznam[i]) {
      i = seznam.length;
      nalezeno = true;
    }
  }
  
  if (nalezeno) return true; else return false;
}

// povoleni pouze numerickych znaku (bez carky a tecky)
function numerical(eX) {
  test = getkey(eX);
  // seznamy klavesovych zkratek, ktere mohou byt pouzity
  // (backspace, TAB, ENTER a pak numericke znaky)
  var seznam = new Array(8,9,13,48,49,50,51,52,53,54,55,56,57);
  var nalezeno = false;
    
  for (var i = 0; i < seznam.length; i++) {
    if (test == seznam[i]) {
      i = seznam.length;
      nalezeno = true;
    }
  }
  
  if (nalezeno) return true; else return false;
}

function kontrola(form,varianta,predplatne,subjekt) {
var chyba = false;
var element;

  if (!varianta) {
    alert('Nevybrali jste položku Varianta.');
    chyba = true;
    return false;
  }
  if (!predplatne) {
    alert('Nevybrali jste položku Předplatné.');
    chyba = true;
    return false;
  }
  if (!subjekt) {
    alert('Nevybrali jste položku Objednávající.');
    chyba = true;
    return false;
  }
  
  // povinne polozky
  if (subjekt == 1) var pole = new Array("eshopname","organizace_nazev","organizace_ulice","organizace_mesto","organizace_psc","organizace_ico");
  if (subjekt == 2) var pole = new Array("eshopname","podnikatel_jmeno_prijmeni","podnikatel_ulice","podnikatel_mesto","podnikatel_psc","podnikatel_ico");
  if (subjekt == 3) var pole = new Array("eshopname","nepodnikatel_jmeno_prijmeni","nepodnikatel_ulice","nepodnikatel_mesto","nepodnikatel_psc","nepodnikatel_narozeni");
  
  // projedeme všechny zadané pole
  for (var i = 0; i < pole.length; i++) {
    // zaměříme si dané pole
    element = "form."+pole[i];
    element = eval(element);
    // když je pole prázdné, zaznamenáme si chybu,
    // a necháme do pole zobrazit blikající kurzor
    // a také ukončíme cyklus
    if (element.value == "") {
      alert("Nevyplnili jste povinný údaj!\n("+pole[i]+")");
      element.focus();
      i = pole.length;
      chyba = true;
  	}
  }

  if (!chyba) {
    var pole_kontakt = new Array("kontakt_jmeno_prijmeni","kontakt_telefon","kontakt_email");
    // projedeme všechny zadané pole
    for (var i = 0; i < pole_kontakt.length; i++) {
      // zaměříme si dané pole
      var prvek = "form."+pole_kontakt[i];
      prvek = eval(prvek);
      if (prvek.value == "") {
        alert("Nevyplnili jste povinný údaj!\n("+pole_kontakt[i]+")");
        prvek.focus();
        i = pole_kontakt.length;
        chyba = true;
    	}
    }
  }

  if (!chyba) {
    if (subjekt == 3 && form.nepodnikatel_narozeni.value.length < 10) {
      alert('Chybně zadané datum narození. Dodržujte prosím formát DD.MM.RRRR');
      form.nepodnikatel_narozeni.focus();
      chyba = true;
      return false;
    }  
    return true;
  }
  else return false;
}

// vymazani bunek
function clearNoReset(form) {
  var element;
  var pole = new Array("eshopname","organizace_nazev","organizace_ulice","organizace_mesto","organizace_psc","organizace_ico","organizace_dic","podnikatel_jmeno_prijmeni","podnikatel_ulice","podnikatel_mesto","podnikatel_psc","podnikatel_ico","podnikatel_dic","nepodnikatel_jmeno_prijmeni","nepodnikatel_ulice","nepodnikatel_mesto","nepodnikatel_psc","nepodnikatel_narozeni","kontakt_jmeno_prijmeni","kontakt_telefon","kontakt_email","poznamky");
  for (var i = 0; i < pole.length; i++) {
    element = "form."+pole[i];
    element = eval(element);
    element.value = "";
  }

  // odznacime veskere radio buttony
  setCheckedValue(document.forms['formular'].elements['varianta'], '');
  setCheckedValue(document.forms['formular'].elements['objednavajici'], '');
  
  subjekt(0);
}

// zjisti hodnotu zaskrtleho radio buttonu
function getCheckedValue(radioObj) {
	if (!radioObj) return "";
	var radioLength = radioObj.length;
	if (radioLength == undefined) {
		if (radioObj.checked) {
      return radioObj.value;
    }
		else {
      return "";
    }
	}
	for (var i = 0; i < radioLength; i++) {
		if (radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}

// nastavi hodnotu radio buttonu
function setCheckedValue(radioObj, newValue) {
	if (!radioObj) return;
	var radioLength = radioObj.length;
	if (radioLength == undefined) {
		radioObj.checked = (radioObj.value == newValue.toString());
		return;
	}
	
  for (var i = 0; i < radioLength; i++) {
		radioObj[i].checked = false;
		if (radioObj[i].value == newValue.toString()) {
			radioObj[i].checked = true;
		}
	}
}

// kontrola zakazanych znaku u NICKu
function povolene(eX) {
  test = getkey(eX);
  // seznamy klaves, ktere NESMI byt pouzity
  //                    (!  "  #  $  %  &  '  (  )  *  +  ,  .  /  :  ;  <  =  >  ?  @  [  \  ]  ^  _  `  {   |   }   mez)
  var seznam = new Array(33,34,35,36,37,38,39,40,41,42,43,44,46,47,58,59,60,61,62,63,64,91,92,93,94,95,96,123,124,125,32);
  var nalezeno = false;
 
  for (var i = 0; i < seznam.length; i++) {
    if (test == seznam[i]) {
      i = seznam.length;
      nalezeno = true;
    }
  }
  
  if (nalezeno) return false; else return true;
}
