/* $Id: main.js,v 3.1 2005/12/21 10:27:24 Lubos Exp $ */

// vrati element podle zadaneho ID
// input: ID - ID elementu

function get_element(id) {
	if (document.all) {
		return document.all[id];
	}
  else {
		return document.getElementById(id);
	}
}

// =============================================================================

// umisti focus na element se zadanym id
// input: id - id elementu

function focus_element(id) {
  var element = get_element(id);
  element.focus();
}

// =============================================================================

// overi registracni udaje

function check_reg_data() {
  // inicializace promennych
  var cust_f_name = get_element("cust_f_name").value;
  var cust_l_name = get_element("cust_l_name").value;
  var cust_mail = get_element("cust_mail").value;
  var cust_phone = get_element("cust_phone").value;
  var cust_fax = get_element("cust_fax").value;
  var cust_firm = get_element("cust_firm").value;
  var cust_ic = get_element("cust_ic").value;
  var cust_dic = get_element("cust_dic").value;
  var cust_street = get_element("cust_street").value;
  var cust_city = get_element("cust_city").value;
  var cust_zip = get_element("cust_zip").value;
  var cust_del_f_name = get_element("cust_del_f_name").value;
  var cust_del_l_name = get_element("cust_del_l_name").value;
  var cust_del_firm = get_element("cust_del_firm").value;
  var cust_del_street = get_element("cust_del_street").value;
  var cust_del_city = get_element("cust_del_city").value;
  var cust_del_zip = get_element("cust_del_zip").value;
  var cust_del_mail = get_element("cust_del_mail").value;
  var cust_del_phone = get_element("cust_del_phone").value;
  var cust_del_fax = get_element("cust_del_fax").value;
  var cust_login = get_element("cust_login").value;
  var cust_pass1 = get_element("cust_pass1").value;
  var cust_pass2 = get_element("cust_pass2").value;
  var cust_p_data = get_element("cust_p_data").checked;
  
  var err_message = "";
  var is_ok = true;

  // overeni jmena
  if(cust_f_name.length < 2) {
    err_message = err_message+"Jméno musí obsahovat minimálně 2 znaky\n";
    is_ok = false;
  }

  // overeni prijmeni
  if(cust_l_name.length < 2) {
    err_message = err_message+"Příjmení musí obsahovat minimálně 2 znaky\n";
    is_ok = false;
  }

  // overeni firmy
  if(cust_firm != "" && cust_firm.length < 2) {
    err_message = err_message+"Název firmy musí obsahovat minimálně 2 znaky\n";
    is_ok = false;
  }

  // overeni IC
  if(cust_ic != "" && !cust_ic.match("^[0-9a-zA-Z ]{7,15}$")) {
    err_message = err_message+"IČO není platné\n";
    is_ok = false;
  }

  // overeni DIC
  if(cust_dic != "" && !cust_dic.match("^[0-9a-zA-Z \-]{7,15}$")) {
    err_message = err_message+"DIČ není platné\n";
    is_ok = false;
  }

  // overeni ulice
  if(cust_street.length < 2) {
    err_message = err_message+"Ulice musí obsahovat minimálně 2 znaky\n";
    is_ok = false;
  }

  // overeni mesta
  if(cust_city.length < 2) {
    err_message = err_message+"Město musí obsahovat minimálně 2 znaky\n";
    is_ok = false;
  }

  // overeni PSC
  if(!cust_zip.match("^[a-z0-9 ]{5,8}$")) {
    err_message = err_message+"PSČ není platné\n";
    is_ok = false;
  }

  // overeni telefonu
  if(cust_phone != "" && !cust_phone.match("^[0-9 \(\)+]{7,20}$")) {
    err_message = err_message+"Telefon není platný\n";
    is_ok = false;
  }

  // overeni faxu
  if(cust_fax != "" && !cust_fax.match("^[0-9 \(\)+]{7,20}$")) {
    err_message = err_message+"Fax není platný\n";
    is_ok = false;
  }

  // overeni mailu
  if(!cust_mail.match("^[^.]+(\.[^.]+)*@([^.]+[.])+[a-zA-Z]{2,4}$")) {
    err_message = err_message+"E-mailová adresa není platná\n";
    is_ok = false;
  }

  // overeni jmena pro doruceni
  if(cust_del_f_name != "" && cust_del_f_name.length < 2) {
    err_message = err_message+"Jméno pro doručení musí obsahovat minimálně 2 znaky\n";
    is_ok = false;
  }

  // overeni prijmeni pro doruceni
  if(cust_del_l_name != "" && cust_del_l_name.length < 2) {
    err_message = err_message+"Příjmení pro doručení musí obsahovat minimálně 2 znaky\n";
    is_ok = false;
  }

  // overeni firmy pro dorucení
  if(cust_del_firm != "" && cust_del_firm.length < 2) {
    err_message = err_message+"Název firmy pro doručení musí obsahovat minimálně 2 znaky\n";
    is_ok = false;
  }

  // overeni ulice pro doruceni
  if(cust_del_street != "" && cust_del_street.length < 2) {
    err_message = err_message+"Ulice pro doručení musí obsahovat minimálně 2 znaky\n";
    is_ok = false;
  }

  // overeni mesta pro doruceni
  if(cust_del_city != "" && cust_del_city.length < 2) {
    err_message = err_message+"Město pro doručení musí obsahovat minimálně 2 znaky\n";
    is_ok = false;
  }

  // overeni PSC pro doruceni
  if(cust_del_zip != "" && !cust_del_zip.match("^[a-z0-9 ]{5,8}$")) {
    err_message = err_message+"PSČ pro doručení není platné\n";
    is_ok = false;
  }

  // overeni telefonu pro doruceni
  if(cust_del_phone != "" && !cust_del_phone.match("^[0-9 \(\)+]{7,20}$")) {
    err_message = err_message+"Telefon pro doručení není platný\n";
    is_ok = false;
  }

  // overeni faxu pro doruceni
  if(cust_del_fax != "" && !cust_del_fax.match("^[0-9 \(\)+]{7,20}$")) {
    err_message = err_message+"Fax pro doručení není platný\n";
    is_ok = false;
  }

  // overeni mailu pro doruceni
  if(cust_del_mail != "" && !cust_del_mail.match("^[^.]+(\.[^.]+)*@([^.]+[.])+[a-zA-Z]{2,4}$")) {
    err_message = err_message+"E-mailová adresa pro doručení není platná\n";
    is_ok = false;
  }

  // overeni prihlasovaciho jmena
  if(cust_login.length < 2) {
    err_message = err_message+"Přihlašovací jméno musí obsahovat minimálně 2 znaky\n";
    is_ok = false;
  }
  
  // overeni hesla
  if(cust_pass1.length < 2) {
    err_message = err_message+"Heslo musí obsahovat minimálně 2 znaky\n";
    is_ok = false;
  }
  
  if(cust_pass1 != cust_pass2) {
    err_message = err_message+"Zadaná hesla se neshodují\n";
    is_ok = false;
  }
  
  if(cust_p_data != true) {
    err_message = err_message+"Pro registraci je nutné zatrhnout políčko o souhlasu se zpracováním osobních údajů\n(bez souhlasu není registrace možná)\n";
    is_ok = false;
  }
    
  if (!is_ok) {
    alert(err_message);
    return false;
  }
  else {
    return true;
  }
}

// =============================================================================

// overi editacni udaje

function check_edit_data() {
  // inicializace promennych
  var cust_f_name = get_element("cust_f_name").value;
  var cust_l_name = get_element("cust_l_name").value;
  var cust_mail = get_element("cust_mail").value;
  var cust_phone = get_element("cust_phone").value;
  var cust_fax = get_element("cust_fax").value;
  var cust_firm = get_element("cust_firm").value;
  var cust_ic = get_element("cust_ic").value;
  var cust_dic = get_element("cust_dic").value;
  var cust_street = get_element("cust_street").value;
  var cust_city = get_element("cust_city").value;
  var cust_zip = get_element("cust_zip").value;
  var cust_del_f_name = get_element("cust_del_f_name").value;
  var cust_del_l_name = get_element("cust_del_l_name").value;
  var cust_del_firm = get_element("cust_del_firm").value;
  var cust_del_street = get_element("cust_del_street").value;
  var cust_del_city = get_element("cust_del_city").value;
  var cust_del_zip = get_element("cust_del_zip").value;
  var cust_del_mail = get_element("cust_del_mail").value;
  var cust_del_phone = get_element("cust_del_phone").value;
  var cust_del_fax = get_element("cust_del_fax").value;
  var cust_login = get_element("cust_login").value;
  var cust_pass1 = get_element("cust_pass1").value;
  var cust_pass2 = get_element("cust_pass2").value;

  var err_message = "";
  var is_ok = true;

  // overeni jmena
  if(cust_f_name.length < 2) {
    err_message = err_message+"Jméno musí obsahovat minimálně 2 znaky\n";
    is_ok = false;
  }

  // overeni prijmeni
  if(cust_l_name.length < 2) {
    err_message = err_message+"Příjmení musí obsahovat minimálně 2 znaky\n";
    is_ok = false;
  }

  // overeni firmy
  if(cust_firm != "" && cust_firm.length < 2) {
    err_message = err_message+"Název firmy musí obsahovat minimálně 2 znaky\n";
    is_ok = false;
  }

  // overeni IC
  if(cust_ic != "" && !cust_ic.match("^[0-9a-zA-Z ]{7,15}$")) {
    err_message = err_message+"IČO není platné\n";
    is_ok = false;
  }

  // overeni DIC
  if(cust_dic != "" && !cust_dic.match("^[0-9a-zA-Z \-]{7,15}$")) {
    err_message = err_message+"DIČ není platné\n";
    is_ok = false;
  }

  // overeni ulice
  if(cust_street.length < 2) {
    err_message = err_message+"Ulice musí obsahovat minimálně 2 znaky\n";
    is_ok = false;
  }

  // overeni mesta
  if(cust_city.length < 2) {
    err_message = err_message+"Město musí obsahovat minimálně 2 znaky\n";
    is_ok = false;
  }

  // overeni PSC
  if(!cust_zip.match("^[a-z0-9 ]{5,8}$")) {
    err_message = err_message+"PSČ není platné\n";
    is_ok = false;
  }

  // overeni telefonu
  if(cust_phone != "" && !cust_phone.match("^[0-9 \(\)+]{7,20}$")) {
    err_message = err_message+"Telefon není platný\n";
    is_ok = false;
  }

  // overeni faxu
  if(cust_fax != "" && !cust_fax.match("^[0-9 \(\)+]{7,20}$")) {
    err_message = err_message+"Fax není platný\n";
    is_ok = false;
  }

  // overeni mailu
  if(!cust_mail.match("^[^.]+(\.[^.]+)*@([^.]+[.])+[a-zA-Z]{2,4}$")) {
    err_message = err_message+"E-mailová adresa není platná\n";
    is_ok = false;
  }

  // overeni jmena pro doruceni
  if(cust_del_f_name != "" && cust_del_f_name.length < 2) {
    err_message = err_message+"Jméno pro doručení musí obsahovat minimálně 2 znaky\n";
    is_ok = false;
  }

  // overeni prijmeni pro doruceni
  if(cust_del_l_name != "" && cust_del_l_name.length < 2) {
    err_message = err_message+"Příjmení pro doručení musí obsahovat minimálně 2 znaky\n";
    is_ok = false;
  }

  // overeni firmy pro dorucení
  if(cust_del_firm != "" && cust_del_firm.length < 2) {
    err_message = err_message+"Název firmy pro doručení musí obsahovat minimálně 2 znaky\n";
    is_ok = false;
  }

  // overeni ulice pro doruceni
  if(cust_del_street != "" && cust_del_street.length < 2) {
    err_message = err_message+"Ulice pro doručení musí obsahovat minimálně 2 znaky\n";
    is_ok = false;
  }

  // overeni mesta pro doruceni
  if(cust_del_city != "" && cust_del_city.length < 2) {
    err_message = err_message+"Město pro doručení musí obsahovat minimálně 2 znaky\n";
    is_ok = false;
  }

  // overeni PSC pro doruceni
  if(cust_del_zip != "" && !cust_del_zip.match("^[a-z0-9 ]{5,8}$")) {
    err_message = err_message+"PSČ pro doručení není platné\n";
    is_ok = false;
  }

  // overeni telefonu pro doruceni
  if(cust_del_phone != "" && !cust_del_phone.match("^[0-9 \(\)+]{7,20}$")) {
    err_message = err_message+"Telefon pro doručení není platný\n";
    is_ok = false;
  }

  // overeni faxu pro doruceni
  if(cust_del_fax != "" && !cust_del_fax.match("^[0-9 \(\)+]{7,20}$")) {
    err_message = err_message+"Fax pro doručení není platný\n";
    is_ok = false;
  }

  // overeni mailu pro doruceni
  if(cust_del_mail != "" && !cust_del_mail.match("^[^.]+(\.[^.]+)*@([^.]+[.])+[a-zA-Z]{2,4}$")) {
    err_message = err_message+"E-mailová adresa pro doručení není platná\n";
    is_ok = false;
  }

  // overeni prihlasovaciho jmena
  if(cust_login.length < 2) {
    err_message = err_message+"Přihlašovací jméno musí obsahovat minimálně 2 znaky\n";
    is_ok = false;
  }

  // overeni hesla
  if(cust_pass1.length < 2) {
    err_message = err_message+"Heslo musí obsahovat minimálně 2 znaky\n";
    is_ok = false;
  }

  if(cust_pass1 != cust_pass2) {
    err_message = err_message+"Zadaná hesla se neshodují\n";
    is_ok = false;
  }

  if (!is_ok) {
    alert(err_message);
    return false;
  }
  else {
    return true;
  }
}

// =============================================================================

// overi pocet kusu pridavanych do kosiku
// input: id - identifikator pole s mnozstvim

function check_quantity(id) {
  var quantity = get_element(id).value;

  // musi byt kladne cele cislo
  if(!quantity.match("^[0-9]+$") || (quantity < 1)) {
    alert("Chybně zadaný počet kusů");
    return false;
  }
  else {
    return true;
  }
}

// =============================================================================

// overi pocet kusu pro prepocitani v kosiku
// input: items_count - pocet polozek v kosiku

function check_re_count_data(items_count) {
  error = false;  // inicializace

  for(i=0; i<items_count; i++) {
    var quantity = get_element("quantity"+i).value;
    
    // musi byt kladne cele cislo nebo 0
    if(!quantity.match("^[0-9]+$")) {
      error = true;
      break;
    }
  }

  if(error) {
    alert("Chybně zadaný počet kusů");
    return false;
  }
  else {
    return true;
  }
}

// =============================================================================

// overi, zda byl zadan retezec pro vyhledavani (form v menu)

function check_search() {
  // inicializace promennych
  var page_query = get_element("page_query").value;
  
  error = false;  // inicializace

  // musi byt zadan nejaky retezec
  if(!page_query.match("^.+$")) {
    error = true;
  }

  if(error) {
    alert("Zadejte řetězec pro vyhledávání");
    return false;
  }
  else {
    return true;
  }
}

// =============================================================================

// overi, zda byla zadana kriteria pro pokrocile vyhledavani

function check_advanced_search() {
  // inicializace promennych
  var asname = get_element("asname").value;
  var asnumber = get_element("asnumber").value;
  var assupplier = get_element("assupplier").value;

  error = false;  // inicializace

  // musi byt zadana nejaka kriteria
  if(!(asname.match("^.+$") || asnumber.match("^.+$") || assupplier.match("^.+$"))) {
    error = true;
  }

  if(error) {
    alert("Zadejte nějaká kritéria pro vyhledávání");
    return false;
  }
  else {
    return true;
  }
}

// =============================================================================

// overi data zadana v dotazu po vyhledavani

function check_search_message() {
  // inicializace promennych
  var sm_mail = get_element("sm_mail").value;
  var sm_text = get_element("sm_text").value;

  var err_message = "";  // inicializace
  var is_ok = true;

  // kontrola spravnosti mailu
  if(!sm_mail.match("^[^.]+(\.[^.]+)*@([^.]+[.])+[a-zA-Z]{2,4}$")) {
    err_message = err_message+"E-mailová adresa není platná\n";
    is_ok = false;
  }

  // overeni textu
  if(sm_text.length < 2) {
    err_message = err_message+"Zadejte nějaký dotaz\n";
    is_ok = false;
  }

  if (!is_ok) {
    alert(err_message);
    return false;
  }
  else {
    return true;
  }
}

// =============================================================================

// overi data zadana v dotazu z helpu

function check_help_message() {
  // inicializace promennych
  var hm_mail = get_element("hm_mail").value;
  var hm_text = get_element("hm_text").value;

  var err_message = "";  // inicializace
  var is_ok = true;

  // kontrola spravnosti mailu
  if(!hm_mail.match("^[^.]+(\.[^.]+)*@([^.]+[.])+[a-zA-Z]{2,4}$")) {
    err_message = err_message+"E-mailová adresa není platná\n";
    is_ok = false;
  }

  // overeni textu
  if(hm_text.length < 2) {
    err_message = err_message+"Zadejte nějaký dotaz\n";
    is_ok = false;
  }

  if (!is_ok) {
    alert(err_message);
    return false;
  }
  else {
    return true;
  }
}

// =====================================================================

// overi udaje objednavky

function check_order_data() {
  var cust_f_name = get_element("cust_f_name").value;
  var cust_l_name = get_element("cust_l_name").value;
  var cust_mail = get_element("cust_mail").value;
  var cust_phone = get_element("cust_phone").value;
  var cust_fax = get_element("cust_fax").value;
  var cust_firm = get_element("cust_firm").value;
  var cust_ic = get_element("cust_ic").value;
  var cust_dic = get_element("cust_dic").value;
  var cust_street = get_element("cust_street").value;
  var cust_city = get_element("cust_city").value;
  var cust_zip = get_element("cust_zip").value;
  var cust_del_f_name = get_element("cust_del_f_name").value;
  var cust_del_l_name = get_element("cust_del_l_name").value;
  var cust_del_firm = get_element("cust_del_firm").value;
  var cust_del_street = get_element("cust_del_street").value;
  var cust_del_city = get_element("cust_del_city").value;
  var cust_del_zip = get_element("cust_del_zip").value;
  var cust_del_mail = get_element("cust_del_mail").value;
  var cust_del_phone = get_element("cust_del_phone").value;
  var cust_del_fax = get_element("cust_del_fax").value;

  var err_message = "";
  var is_ok = true;

  // overeni jmena
  if(cust_f_name.length < 2) {
    err_message = err_message+"Jméno musí obsahovat minimálně 2 znaky\n";
    is_ok = false;
  }

  // overeni prijmeni
  if(cust_l_name.length < 2) {
    err_message = err_message+"Příjmení musí obsahovat minimálně 2 znaky\n";
    is_ok = false;
  }

  // overeni firmy
  if(cust_firm != "" && cust_firm.length < 2) {
    err_message = err_message+"Název firmy musí obsahovat minimálně 2 znaky\n";
    is_ok = false;
  }

  // overeni IC
  if(cust_ic != "" && !cust_ic.match("^[0-9a-zA-Z ]{7,15}$")) {
    err_message = err_message+"IČO není platné\n";
    is_ok = false;
  }

  // overeni DIC
  if(cust_dic != "" && !cust_dic.match("^[0-9a-zA-Z \-]{7,15}$")) {
    err_message = err_message+"DIČ není platné\n";
    is_ok = false;
  }

  // overeni ulice
  if(cust_street.length < 2) {
    err_message = err_message+"Ulice musí obsahovat minimálně 2 znaky\n";
    is_ok = false;
  }

  // overeni mesta
  if(cust_city.length < 2) {
    err_message = err_message+"Město musí obsahovat minimálně 2 znaky\n";
    is_ok = false;
  }

  // overeni PSC
  if(!cust_zip.match("^[a-z0-9 ]{5,8}$")) {
    err_message = err_message+"PSČ není platné\n";
    is_ok = false;
  }

  // overeni telefonu
  if(cust_phone != "" && !cust_phone.match("^[0-9 \(\)+]{7,20}$")) {
    err_message = err_message+"Telefon není platný\n";
    is_ok = false;
  }

  // overeni faxu
  if(cust_fax != "" && !cust_fax.match("^[0-9 \(\)+]{7,20}$")) {
    err_message = err_message+"Fax není platný\n";
    is_ok = false;
  }

  // overeni mailu
  if(!cust_mail.match("^[^.]+(\.[^.]+)*@([^.]+[.])+[a-zA-Z]{2,4}$")) {
    err_message = err_message+"E-mailová adresa není platná\n";
    is_ok = false;
  }

  // overeni jmena pro doruceni
  if(cust_del_f_name != "" && cust_del_f_name.length < 2) {
    err_message = err_message+"Jméno pro doručení musí obsahovat minimálně 2 znaky\n";
    is_ok = false;
  }

  // overeni prijmeni pro doruceni
  if(cust_del_l_name != "" && cust_del_l_name.length < 2) {
    err_message = err_message+"Příjmení pro doručení musí obsahovat minimálně 2 znaky\n";
    is_ok = false;
  }

  // overeni firmy pro dorucení
  if(cust_del_firm != "" && cust_del_firm.length < 2) {
    err_message = err_message+"Název firmy pro doručení musí obsahovat minimálně 2 znaky\n";
    is_ok = false;
  }

  // overeni ulice pro doruceni
  if(cust_del_street != "" && cust_del_street.length < 2) {
    err_message = err_message+"Ulice pro doručení musí obsahovat minimálně 2 znaky\n";
    is_ok = false;
  }

  // overeni mesta pro doruceni
  if(cust_del_city != "" && cust_del_city.length < 2) {
    err_message = err_message+"Město pro doručení musí obsahovat minimálně 2 znaky\n";
    is_ok = false;
  }

  // overeni PSC pro doruceni
  if(cust_del_zip != "" && !cust_del_zip.match("^[a-z0-9 ]{5,8}$")) {
    err_message = err_message+"PSČ pro doručení není platné\n";
    is_ok = false;
  }

  // overeni telefonu pro doruceni
  if(cust_del_phone != "" && !cust_del_phone.match("^[0-9 \(\)+]{7,20}$")) {
    err_message = err_message+"Telefon pro doručení není platný\n";
    is_ok = false;
  }

  // overeni faxu pro doruceni
  if(cust_del_fax != "" && !cust_del_fax.match("^[0-9 \(\)+]{7,20}$")) {
    err_message = err_message+"Fax pro doručení není platný\n";
    is_ok = false;
  }

  // overeni mailu pro doruceni
  if(cust_del_mail != "" && !cust_del_mail.match("^[^.]+(\.[^.]+)*@([^.]+[.])+[a-zA-Z]{2,4}$")) {
    err_message = err_message+"E-mailová adresa pro doručení není platná\n";
    is_ok = false;
  }

  if (!is_ok) {
    alert(err_message);
    return false;
  }
  else {
    return true;
  }
}

// =============================================================================

// overi data pro doporuceni

function check_recommendation_data() {
  // inicializace promennych
  var rec_sender_mail = get_element("rec_sender_mail").value;
  var rec_recipient_mail = get_element("rec_recipient_mail").value;
  var rec_message = get_element("rec_message").value;

  var err_message = "";  // inicializace
  var is_ok = true;

  // kontrola spravnosti mailu
  if(!rec_sender_mail.match("^[^.]+(\.[^.]+)*@([^.]+[.])+[a-zA-Z]{2,4}$")) {
      err_message = err_message+"Vaše e-mailová adresa není platná\n"
    is_ok = false;
  }

  if(!rec_recipient_mail.match("^[^.]+(\.[^.]+)*@([^.]+[.])+[a-zA-Z]{2,4}$")) {
      err_message = err_message+"E-mailová adresa příjemce není platná\n"
    is_ok = false;
  }

  // overeni textu
  if(rec_message.length < 2) {
      err_message = err_message+"Zadejte nějaký text zprávy\n"
    is_ok = false;
  }

  if (!is_ok) {
    alert(err_message);
    return false;
  }
  else {
    return true;
  }
}
