/* kontrola vyplneni soutezniho formulare  */

 String.prototype.trim = function() {
    a = this.replace(/^\s+/, '');
    return a.replace(/\s+$/, '');
   }


function isNum(passedVal) {
			if (passedVal == "") {
				return false
			}
			for (i=0; i < passedVal.length; i++) {
				if (passedVal.charAt(i) < "0") {
					return false
				}
				if (passedVal.charAt(i) > "9") {
					return false
				}
			}
			return true
} // end function


function validDatumNew(datum, f_mesic, f_rok) {

  var validChars = "0123456789-";
  var cisla = "0123456789";
  
  if(datum.length !== 10) return false;
     	 	
 	den = datum.substring(0,2);
 	mesic = datum.substring(3,5);
 	rok = datum.substring(6,10);
 		
 	if((f_mesic > 0) && (f_mesic < 10)) f_mesic = "0" + f_mesic;
 	if(f_rok > 0) f_rok = "" + f_rok;
 		
 	// alert("f_mesic: " + f_mesic + "\nmesic: " + mesic + "\n\nf_rok: " + f_rok + "\nrok: " + rok);
 		
  if(!isNum(rok)) return false;	
  if(!isNum(mesic)) return false;
  if(!isNum(den)) return false;	
  
  if((f_mesic > 0) && (f_rok > 0)) {      
  
    if((f_mesic !== mesic) || (f_rok !== rok))  return false;
                                               
  
  }
    else if(mesic > 12) 	return false;
  
  
  if(den > 31) 	return false;

	if(datum.charAt(2) !== ".") return false;
	if(datum.charAt(5) !== ".") return false;
	
	return true;
  
} // end function


function validEmail(email) {
			invalidChars = " /:,;"
	
			if (email == "") {
				return false
			}
			for (i=0; i < invalidChars.length; i++) {
				badChar = invalidChars.charAt(i)
				if (email.indexOf(badChar,0) > -1) {
					return false
				}
			}
			atPos = email.indexOf("@",1)
			if (atPos == -1) {
				return false
			}
			if (email.indexOf("@",atPos+1) > -1) {
				return false
			}
			periodPos = email.indexOf(".",atPos)
			if (periodPos == -1) {
				return false
			}
			if (periodPos+3 > email.length)	{
				return false
			}
			return true
} // end function

function bezdiakEmail(email) {
		
			var sdiak = "áäčďéěíĺľňóôőöŕšťúůűüýřžÁÄČĎÉĚÍĹĽŇÓÔŐÖŔŠŤÚŮŰÜÝŘŽ";
	
		  var spravne = 1;  // 1 = bez diakritiky, 2 = s diakritikou
                                                                                                                                                         
      for(p = 0; p < email.length; p++) { // proverim, jestli v nazvu neni znak s diakritikou...
                                                   
                if(sdiak.indexOf(email.charAt(p)) != -1) {
                                                          spravne = 2;
                                                          break;
                }
                  else continue;                                                   
                                                   
      } // end for
      
      
      if(spravne > 1) return false;
      
        else return true;
      
} // end function


function validateSoutezForm(idfirmy,f_mesic, f_rok) {

  var chyba = "";

  var mesice = new Array("leden", "únor", "březen", "duben", "květen", "červen", "červenec", "srpen", "září", "říjen", "listopad", "prosinec");

  if(document.getElementById("jmeno" + idfirmy).value.trim() == "") chyba += "Vyplňte jméno a příjmení\n\n";
  if(document.getElementById("email" + idfirmy).value.trim() == "") chyba += "Vyplňte e-mailovou adresu\n\n";
    else {
          if(!validEmail(document.getElementById("email" + idfirmy).value.trim())) chyba += "Uvedená e-mailová adresa není platná\n\n";
          
          else if(!bezdiakEmail(document.getElementById("email" + idfirmy).value.trim()))  chyba += "E-mailová adresa nesmí obsahovat diakritiku\n\n"; 
    }
    
  if(document.getElementById("datumNakupu" + idfirmy).value.trim() == "") chyba += "Vyplňte datum nákupu\n\n"; 
   else {
         if(!validDatumNew(document.getElementById("datumNakupu" + idfirmy).value.trim(), f_mesic, f_rok)) {
                   
                   
                    chyba += "Datum nákupu musí být ve formátu DD.MM.RRRR (např. 09.01.2009)";
                    
                    if((f_mesic > 0) && (f_rok > 0)) chyba += ", a to v termínu " + mesice[(f_mesic - 1)] + " " + f_rok;
                    
                    chyba += "\n\n";
                    
                    
          }
   }
    
  if(document.getElementById("castka" + idfirmy).value.trim() == "") chyba += "Vyplňte částku nákupu\n\n";  
    else {
          if(!isNum(document.getElementById("castka" + idfirmy).value.trim())) chyba += "Částka musí být platné číslo\n\n";
    }
    
  if(document.getElementById("navstevy_tip" + idfirmy).value.trim() == "") chyba += "Vyplňte tipovaný počet návštěv\n\n";  
    else {
          if(!isNum(document.getElementById("navstevy_tip" + idfirmy).value.trim())) chyba += "Tipovaný počet návštěv musí být platné číslo\n\n";
    }
   
  if(!document.getElementById("souhlas" + idfirmy).checked) chyba += "Pro účast v soutěži musíte potvrdit souhlas s pravidly soutěže\n\n";
  
  if(chyba == "") return true;
    else {
          alert(chyba);
          return false;
    }
   
} // end function

