// -------------------------------------------------------------------------------------------------
  function checkFormExtended(inputTextWymagane, error){
    
    for (i = 0; i < inputTextWymagane.length; i++){            
      srednik   = inputTextWymagane[i].indexOf(';');
      srednik2  = inputTextWymagane[i].lastIndexOf(';');
      
      if (srednik > -1){
        pole  = inputTextWymagane[i].substring(0, srednik);
        if (srednik2 > srednik){
          ile   = inputTextWymagane[i].substring(srednik+1, srednik2);
          ile2  = inputTextWymagane[i].substr(srednik2+1);
        }
        else{
          ile   = inputTextWymagane[i].substr(srednik+1);
          ile2  = el(pole).value.length;
        }
      }
      else{
        pole = inputTextWymagane[i];
        ile   = 1;
        ile2  = el(pole).value.length;  
      }

      if (el(pole).type == 'text' || el(pole).type == 'password'){        
        if ((ile != 'pc' && ile != 'e' && ile != 'p' && (el(pole).value.length < ile || el(pole).value.length > ile2)) || 
            (ile == 'e' && (el(pole).value == '' || !checkMail(el(pole).value))) || 
            (ile == 'p' && el(pole).value != '' && !checkPhoneNo(el(pole).value)) || 
            (ile == 'pc' && el(pole).value != '' && !checkPostalCode(el(pole).value))            
           ){                    
          if (error == false) label = pole;            
          
          el(pole).className = 'err_class';
          error = true; 
        }  
        else{
          el(pole).className = 'ok_class';
        }
      }
      else{
        if (el(pole).type == 'select-one'){
          if (ile != 'pc' && ile != 'p' && ile != 'e' && (pole != 'k_wojewodztwo' || (pole == 'k_wojewodztwo' && el('k_kraj').value.toLowerCase() == 'polska')) && el(pole).value == '') {                    
            if (error == false) label = pole;            
            
            el(pole).className = 'err_class';
            error = true; 
          }  
          else{
            el(pole).className = 'ok_class';
          }
        }      
      }
    } 
    
    return error;
       
  }
// -------------------------------------------------------------------------------------------------
// -------------------------------------------------------------------------------------------------

  function checkFormSzukaj(s) {
  
    if ( s.value=='' || s.value.length<3 ) {
      alert("Nie wpisano szukanego wyrażenia (min. 3 znaki)");
      s.select();
      s.focus();
      return false;
    }
  
    return true;
  }


// funckje obslugi formularzy
//-----------------------------------
function checkForm(pola) {
  
  for (i=0;i<pola.length;i++) {
    gdzie_sr  = pola[i].indexOf(';');//gdzie jest srednik
    nazwa     = pola[i].substring(0, gdzie_sr);
    komunikat = pola[i].substring(gdzie_sr+1);
    //alert(nazwa+'-'+komunikat);
    if (nazwa.indexOf('email')!=-1) {
      if(!checkField(nazwa,komunikat))
        return false;  
      else
        if(!checkEmail(nazwa))
          return false;  
    }
    else {
      if(!checkField(nazwa,komunikat))
        return false;  
    }
  }//for
  
  return true;
}

//-----------------------------------
function checkField(id,komunikat) {
  pole = document.getElementById(id);
  //alert(id+'-'+pole.value);
  if (pole.value=='' || pole.value==undefined) {
     alert("Wypełnij pola wymagane:\n\n*"+komunikat);
     if (pole.type=='textarea' || pole.type=='text')
       pole.select();
     pole.focus();
     return false;
  }
  else {
     return true;
  }
}

//---------------------------------
function checkEmail(id) {
  var pole = document.getElementById(id);
  var emailPat=/^(.+)@(.+)\.(.+)$/;

  if (pole.value.match(emailPat)==null) {
    alert ('Podany adres e-mail jest nieprawidłowy.');
    if (pole.type=='textarea' || pole.type=='text')
      pole.select();
    pole.focus();
    return false;
  }
  
  return true;
}

//---------------------------------
function checkPhoto(pole) {
  var photoPat = /(\.jpg$)|(\.gif$)|(\.png$)/gi;
  var matchArray = pole.value.match(photoPat);
  
  if (pole.value!='' && matchArray==null) {
    alert ('Wybrano niewłaściwy rodzaj pliku graficznego:\n- dozwolone rodzaje plików to *.jpg, *.gif, *.png');
    pole.select();
    pole.focus();
    return false;
  }
  
  return true;
}

//---------------------------------
function checkMoney(pole) {
var blad = false;

  pole.value = pole.value.replace(/,/g, '.');
  if (pole.value.indexOf('.')!=-1) {
    po_przecinku = pole.value.substring(pole.value.indexOf('.')+1);
    if (po_przecinku.length>2)
      blad = true;
  }

  if (pole.value!='' && (blad || isNaN(pole.value))) {
     alert('Niewłaściwy format kwoty!');
     pole.select();
     pole.focus();
  }
}

//---------------------------------
function checkDate(pole) {
var data=/^[0-9]{4}-[0-9]{2}-[0-9]{2}$/;

	if (pole.value!='' && pole.value.match(data)==null) {
    alert("Niewłaściwy format daty!\n\n* poprawny format: YYYY-mm-dd");
    pole.select();
    pole.focus();
    return false;
	}
  else
     return true;
}

//---------------------------------
function checkDateTime(pole) {
var data_czas=/^[0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}$/;

	if (pole.value!='' && pole.value.match(data_czas)==null) {
    alert("Niewłaściwy format daty i czasu!\n\n* poprawny format: YYYY-mm-dd HH:ii:ss");
    pole.select();
    pole.focus();
    return false;
	}
  else
     return true;
}

//---------------------------------
function checkTime(pole) {
var czas=/^[0-9]{2}:[0-9]{2}$/;

	if (pole.value.length==2)
	  pole.value += ':00';
	  
  if (pole.value!='' && pole.value.match(czas)==null) {
    alert("Niewłaściwy format godziny!\n\n* poprawny format: HH:mm");
    pole.select();
    pole.focus();
    return false;
	}
  else
     return true;
}
