/*
# sprawdzanie formularzy
# Tomasz Choduń
# 3 listopada 2005
#
# frmReg - formularz
# frmGo - "yes" poprawny, "no" - niepoprawny
# field - pole
# text - komunikat
# 
*/

var frmReg;
var frmGo;

//sprawdza czy w polu jest wpisana wartosc o podanej dlugosci (chars) UWAGA, dopuszcza dlugosc zero, najpierw pole sprawdzic funkcja checkEmpty()
function checkLength(field, text, chars) {

	if(frmGo == "yes") {
		
		if (frmReg.elements[field].value.length) {
			if (frmReg.elements[field].value.length < chars) {
				alert(text);
			   frmReg.elements[field].focus();
			   return "no";
			} else {
			  	return "yes";
			}
		} else {
			return "yes";
		}

	}

}

//sprawdza czy w polu jest wpisane cokolwiek
function checkEmpty(field, text) {

	if(frmGo == "yes") {

		if (!frmReg.elements[field].value.length) {
   		alert(text);
	    	frmReg.elements[field].focus();  
	    	return "no";
	  	} else {
	  		return "yes";
	  	}

	}

}

//waliduje adres email
function checkEmail(field, text) {

	if(frmGo == "yes") {

		if (frmReg.elements[field].value.length) {
		
	  		WzorE=/^[0-9a-z._-]+(@|\(at\))+[0-9a-z._-]+\.[a-z]{2,4}$/i;
	  		
		  	if(!WzorE.test(frmReg.elements[field].value)){
		   	alert(text);
			   frmReg.elements[field].focus();
			   return "no";
		   }else {
		  		return "yes";
		  	}
		  	
	  	} else {
	  		return "yes";
	  	}

  	}

}

//waliduje pole ceny w formacie 100.00 100,00 lub 100
function checkPrice(field, text)
{
	if(frmGo == "yes")
	{
		if (frmReg.elements[field].value.length) {
		
	  		WzorE=/^\-?[0-9]+([\.\,][0-9]{1,2})?$/i;
		  	if(!WzorE.test(frmReg.elements[field].value)){
		   	alert(text);
			   frmReg.elements[field].focus();
			   return "no";
		   }else {
		  		return "yes";
		  	}
		  	
	  	} else {
	  		return "yes";
	  	}
	}
}

//sprawdza czy wartosc jest liczba
function checkNumber(field, text) {

	if(frmGo == "yes") {

		liczba = frmReg.elements[field].value;

		if (isNaN(liczba)) {
			alert(text);
			frmReg.elements[field].value = "";
			frmReg.elements[field].focus();
			return "no";
		}else {
			return "yes";
		}

	}

}

//sprawdza czy wartosc jest liczba calkowita dodatnia
function checkInteger(field, text) {

	if(frmGo == "yes") {

		liczba = frmReg.elements[field].value;
		WzorE=/^[0-9]+$/;

		if (!WzorE.test(frmReg.elements[field].value)) {
			alert(text);
			frmReg.elements[field].value = "";
			frmReg.elements[field].focus();
			return "no";
		}else {
			return "yes";
		}

	}

}

//sprawdza czy pola maja taka sama warotsc
function checkIdentity(field1, field2, text) {

	if(frmGo == "yes") {

		if (frmReg.elements[field1].value != frmReg.elements[field2].value) {
			alert(text);
			frmReg.elements[field2].focus();
			return "no";
		}else {
			return "yes";
		}

	}

}

//sprawdza czy minimalna ilosc pol checkbox jest zaznaczona
function checkCheckboxSelection(field, text, how_many, minimum) {

	var check = 0;

	for (i=1; i<=how_many; i++) {
  		if (frmReg.elements[field+'['+i+']'].checked) { 
         check = check + 1;
      } 
   }
	
	if(frmGo == "yes") {

		if (check < minimum) {
			alert(text);
			return "no";
		} else {
			return "yes";
		}

	}

}

//sprawdza zakres dat, wartosc field_from musi być mniejsza od field_to
function checkDateRange(field_from, field_to, text) {

	if(frmGo == "yes") {

		temp = frmReg.elements[field_from].value;
		py = temp.substring(0,temp.indexOf("-"));
		pm = temp.substring(temp.indexOf("-")+1,temp.length-3);
		pd = temp.substring(temp.indexOf("-")+4,temp.length);

		temp2 = frmReg.elements[field_to].value;
		ky = temp2.substring(0,temp2.indexOf("-"));
		km = temp2.substring(temp2.indexOf("-")+1,temp2.length-3);
		kd = temp2.substring(temp2.indexOf("-")+4,temp2.length);

		datap = new Date(py,pm,pd);
		datak = new Date(ky,km,kd);

		poczatek = datap.getTime();
		koniec = datak.getTime();

		if (poczatek > koniec) {
			alert(text);
			frmReg.elements[field_from].focus();
			return "no";
		} else {
			return "yes";
		}

	}

}

//sprawdza czy data zawarta w polu field nie jest data z przeszlosci
function checkDateFromNow(field, text) {

	if(frmGo == "yes") {
	
	if (frmReg.elements[field].value.length) {

		temp = frmReg.elements[field].value;
		dy = temp.substring(0,temp.indexOf("-"));
		dm = temp.substring(temp.indexOf("-")+1,temp.length-3);
		dd = temp.substring(temp.indexOf("-")+4,temp.length);

		dzis = new Date();
		ty = dzis.getYear();
		tm = dzis.getMonth() + 1;
		td = dzis.getDate();

		ddata = new Date(dy,dm,dd);
		tdata = new Date(ty,tm,td);

		poczatek = tdata.getTime();
		koniec = ddata.getTime();

		if (poczatek > koniec) {
			alert(text);
			frmReg.elements[field].focus();
			return "no";
		} else {
			return "yes";
		}
	
	} else {
		return "yes";
	}

	}

}
