// sprawdzanie poprawnoťci emaila
function emailCheck (emailStr) {
var checkTLD=1; // sprawdzanie ko˝cˇwki
var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;
var emailPat=/^(.+)@(.+)$/;
var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
var validChars="\[^\\s" + specialChars + "\]";
var quotedUser="(\"[^\"]*\")";
var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
var atom=validChars + '+';
var word="(" + atom + "|" + quotedUser + ")";
var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
var matchArray=emailStr.match(emailPat);
if (matchArray==null) {
//alert("Niepoprawny adres email (sprawdč po-o¬enie @ oraz) .");
return false;
}
var user=matchArray[1];
var domain=matchArray[2];
for (i=0; i<user.length; i++) {
if (user.charCodeAt(i)>127) {
//alert("Nazwa u¬ytkownika zawiera niedozwolone znaki.");
return false;
   }
}
for (i=0; i<domain.length; i++) {
if (domain.charCodeAt(i)>127) {
//alert("Nazwa domeny zawiera niedozwolone znaki.");
return false;
   }
}
if (user.match(userPat)==null) {
//alert("Niepoprawna nazwa u¬ytkownika.");
return false;
}
var IPArray=domain.match(ipDomainPat);
if (IPArray!=null) {
for (var i=1;i<=4;i++) {
if (IPArray[i]>255) {
//alert("Docelowy adres IP jest niepoprawny!");
return false;
   }
}
return true;
}
var atomPat=new RegExp("^" + atom + "$");
var domArr=domain.split(".");
var len=domArr.length;
for (i=0;i<len;i++) {
if (domArr[i].search(atomPat)==-1) {
//alert("Niepoprwana nazwa domeny.");
return false;
   }
}
if (checkTLD && domArr[domArr.length-1].length!=2 && 
domArr[domArr.length-1].search(knownDomsPat)==-1) {
//alert("Adres musi siŕ ko˝czyŠ nazw¦ domeny lub dwuliterowej nazwy " + "kraju.");
return false;
}
if (len<2) {
//alert("W adresie brakuje nazwy hosta!");
return false;
}
return true;
}


function reszta(liczba,dzielnik)
{
var reszta=liczba-(dzielnik*Math.floor(liczba/dzielnik));
return reszta;
}

function pesel(pesel_no) // sprawdzenie pesel
{
var err=0;
p = new Array('','','','','','','','','','','');
var text1 = pesel_no;
var kom= ""
//sprawdzenie czy 11 znaków
if (!(text1.length==11))
{alert("Nieprawidłowa ilość (znaków) cyfr. Ma być 11. !!!");return false;};
// sprawdzenie czy same cyfry
for ( i=0 ; i<11 ; i++ )
{
p[i]=parseInt(text1.substr(i,1));
if(isNaN(p[i])){alert("Numer PESEL nie może zawierać innych znaków niż cyfry !!!");return false;};
}
// wyliczenie cyfry kontrolnej
var b1= p[0];
var b2= reszta((p[1]*3),10);
var b3= reszta((p[2]*7),10);
var b4= reszta((p[3]*9),10);
var b5= p[4];
var b6= reszta((p[5]*3),10);
var b7= reszta((p[6]*7),10);
var b8= reszta((p[7]*9),10);
var b9= p[8];
var b10= reszta((p[9]*3),10);
var suma=b1+b2+b3+b4+b5+b6+b7+b8+b9+b10;
suma=10-reszta(suma,10);
suma=reszta(suma,10);
if(suma==p[10])
{return true;}
else{
	alert("PESEL nie prawidłowy");
	return false;
};

}


function obetnij_spacje(Str){
	dlugosc=Str.length;
 // obcinanie spacji
	while (Str.slice(0,1) == " "){ 
 	 Str = Str.substr(1,dlugosc-1);
 	 dlugosc = Str.length
	}
	while(Str.slice(dlugosc-1,dlugosc)== " "){ 
 	 Str = Str.substr(0,dlugosc-1);
 	 dlugosc = Str.length
 	}
	return Str;
}


// czy puste pole
function blank(pole){
	return (pole=="");
}

function wyslij(){
	if(rezerwacja.uwagi1.checked && rezerwacja.uwagi2.checked)
		rezerwacja.rezerwuj.disabled=false;
	else
		rezerwacja.rezerwuj.disabled=true;
}
function rwtest(forma){
var ok=true;
var komunikat='';

if(ok&&blank(obetnij_spacje(forma.elements['rw_imie'].value))) 
	{	forma.elements['rw_imie'].style.background = "#ff0000";	
		komunikat = 'Prosze podać imię';
		ok=false;} 

if(ok&&blank(obetnij_spacje(forma.elements['rw_telefon'].value))) 
	{	forma.elements['rw_telefon'].style.background = "#ff0000";	
	komunikat = 'Prosze podać telefon';
	ok=false;} 

if(ok&&!emailCheck(obetnij_spacje(forma.elements['rw_email'].value))) 
	{	forma.elements['rw_email'].style.background = "#ff0000";	
	komunikat = 'Prosze podać poprawny adres email';
	ok=false;} 

if(ok&&blank(obetnij_spacje(forma.elements['rw_wylot'].value))) 
	{	forma.elements['rw_wylot'].style.background = "#ff0000";	
	komunikat = 'Prosze podać miasto wylotu';
	ok=false;} 
	
if(ok&&blank(obetnij_spacje(forma.elements['rw_wylotdata'].value))) 
	{	forma.elements['rw_wylotdata'].style.background = "#ff0000";	
	komunikat = 'Prosze podać datę wylotu';
	ok=false;} 

if(ok&&blank(obetnij_spacje(forma.elements['rw_przylot'].value))) 
	{	forma.elements['rw_przylot'].style.background = "#ff0000";	
	komunikat = 'Prosze miasto przylotu';
	ok=false;} 
	
if(ok&&blank(obetnij_spacje(forma.elements['rw_przylotdata'].value))) 
	{	forma.elements['rw_przylotdata'].style.background = "#ff0000";	
	komunikat = 'Prosze podać datę przylotu';
	ok=false;} 
	
if(ok&&blank(obetnij_spacje(forma.elements['rw_ilosob'].value))) 
	{	forma.elements['rw_ilosob'].style.background = "#ff0000";	
	komunikat = 'Prosze podać ilość osób';
	ok=false;} 

if(ok&&!(forma.elements[10].checked||forma.elements[11].checked)) 
	{komunikat = 'Prosze wybrać typ biletu';
	ok=false;} 

if(ok&&(forma.elements[12].selectedIndex<1)) 
	{komunikat = 'Prosze wybrać typ zapytania';
	ok=false;} 		

if(ok&&!(forma.elements[13].checked||forma.elements[14].checked)) 
	{komunikat = 'Prosze wybrać sposób płatności';
	ok=false;} 	
	
if(ok&&(forma.elements[15].selectedIndex<1)) 
	{komunikat = 'Prosze podać czy maja być przesyłane informacje o promocjach';
	ok=false;} 		
	
	
(ok==true)?forma.submit():alert(komunikat);
}




