//////////////////////////////////////////////////////////////////////////////////////////////////////
//				SPRAWDZENIE FORMULARZA FPL					   //
/////////////////////////////////////////////////////////////////////////////////////////////////////


function validate_fpl(i) {
		
		    var f=document.send_fpl;

		    //Definicja zmiennych regexp

		    var Callsign = /[A-Z0-9a-z]{1,7}/;
		    var Numer = /[0-9]{1,2}/;
		    var Type_of_aircraft = /[A-Z0-9a-z]{4}/;
		    var Equipment = /(([A-MO-Za-mo-z]{1,10})|([Nn]{1}))/;
		    var SSR = /(([AaCcXxPpIiSs]{1})|([AaCcXxPpIiSs][Dd])|([Nn]{1}))/;
		    var ADEP = /[A-Za-z]{4}/;
		    var Time = /((([01][0-9])|(2[0-3]))([0-5][0-9]))/;
		    var Speed_N = /[0-9]{4}/;
		    var Speed_K = /[0-9]{4}/;
		    var Speed_M = /[0-9]{3}/;
		    var Level_F = /([0-9][0-9][05])/;
		    var Level_S = /([0-9][0-9][0-9][0-9])/;
		    var Level_A = /([0-9][0-9][0-9])/;
		    var Level_M = /([0-9][0-9][0-9][0-9])/;
		    var Level_VFR = /([0-9][0-9])/;

		    var ADES = /[A-Za-z]{4}/;
		    var EET = /((([01][0-9])|(2[0-3]))([0-5][0-9]))/;
		    var ALTN1 = /[A-Za-z]{4}/;
		    var ALTN2 = /[A-Za-z]{4}/;

		    var Other_ADEP = /(((DEP\/)|(dep\/))([A-Za-z]))/;
		    var Other_ADES= /(((DEST\/)|(dest\/))([A-Za-z]))/;
		    var Other_ALTN= /(((ALTN\/)|(altn\/))([A-Za-z]))/;
		    var Other_TYP = /(((TYPE\/)|(type\/))([A-Za-z]))/;

		    var Endurance = /((([01][0-9])|(2[0-3]))([0-5][0-9]))/;
		    var POB = /(([0-9]{3})|(TBN)|(tbn))/;
		    
		    var Dinghies_nr = /([0-9]{2})/;
		    var Dinghies_capacity = /([0-9]{3})/;

		    var Dinghies_colour = /[A-Za-z]{1,10}/;
		    var ac_colour = /[AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz ]{1,30}/;
		    var rmk_text = /[AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz0-9 ]{1,30}/;
		    var pilot_in_command = /[AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz]{1,40}/;
		        
		    //Sprawdzenie formularza

		    if ((f.dof.value+f.Time.value) <= (f.now.value)) {
					f.dof.focus();
					if (i=='pl') {
						alert("BLAD! Data i godzina startu jest wczesniejsza od czasu wyslania planu lotu!");
					} else {
						alert("ERROR! Date and time of departure is earlier than now!");
					}
					return false;
		    }
		    

		    if (!(Callsign.test(f.Callsign.value))) {
					f.Callsign.focus();
					f.Callsign.select();
					if (i=='pl') {
						alert("BLAD! Nieprawidlowa wartosc w polu Callsign!");
					} else {
						alert("ERROR! False value in Callsign field!");
					}
					return false;
		    }

		    if (!(f.Numer.value)=="") {
				if (!(Numer.test(f.Numer.value))) {
						f.Numer.focus();
						f.Numer.select();
					if (i=='pl') {
						alert("BLAD! Nieprawidlowa wartosc w polu Numer!");
					} else {
						alert("ERROR! False value in 'Number' field!");
					}
						return false;
				}
		    }

		    if ((f.Type_of_aircraft.value == "ZZZZ")||(f.Type_of_aircraft.value == "zzzz")) {

				if (!(Other_TYP.test(f.Other.value))) {
						f.Other.focus();
						f.Other.select();
					if (i=='pl') {
						alert("Blad! Brak okreslenia typu statku powietrznego TYPE/ w polu 18");
					} else {
						alert("ERROR! No TYPE/ designator on 18 field");
					}
						return false;
				}
		    }


		    if (!(Type_of_aircraft.test(f.Type_of_aircraft.value))) {
					f.Type_of_aircraft.focus();
					f.Type_of_aircraft.select();
					if (i=='pl') {
						alert("BLAD! Nieprawidlowa wartosc w polu Type of aircraft!");
					} else {
						alert("ERROR! False value in Type of aircraft field!");
					}
					return false;
		    }

		    if (!(Equipment.test(f.Equipment.value))) {
    					f.Equipment.focus();
					f.Equipment.select();
					if (i=='pl') {
						alert("BLAD! Nieprawidlowa wartosc w polu Equipment!");
					} else {
						alert("ERROR! False value in 'Equipment' field!");
					}
					return false;
		    }

		    if (!(SSR.test(f.SSR.value))) {
					f.SSR.focus();
					f.SSR.select();
					if (i=='pl') {
						alert("BLAD! Nieprawidlowa wartosc w polu Equipment SSR!");
					} else {
						alert("ERROR! False value in Equipment SSR field!");
					}
					return false;
		    }

		    if (!(ADEP.test(f.ADEP.value))) {
					f.ADEP.focus();
					f.ADEP.select();
					if (i=='pl') {
						alert("BLAD! Nieprawidlowa wartosc w polu Aerodrome Of Departure!");
					} else {
						alert("ERROR! False value in Aerodrome Of Departure field!");
					}
    					return false;
		    }


		    if ((f.ADEP.value == "ZZZZ")||(f.ADEP.value == "zzzz")) {

				if (!(Other_ADEP.test(f.Other.value))) {
						f.Other.focus();
						f.Other.select();
					if (i=='pl') {
						alert("BLAD! Brak okreslenia lotniska startu DEP/ w polu 18");
					} else {
						alert("ERROR! No DEP/ designator on 18 field");
					}
						return false;
				}
		    }



		    if (!(Time.test(f.Time.value))) {
					f.Time.focus();
					f.Time.select();
					if (i=='pl') {
						alert("BLAD! Nieprawidlowa wartosc w polu Time!");
					} else {
						alert("ERROR! False value in 'Time' field!");
					}
					return false;
		    }

		    if (f.Speed1.value == "N") {
			    if (!(Speed_N.test(f.Speed.value))) {
						f.Speed.focus();
						f.Speed.select();
					if (i=='pl') {
						alert("BLAD! Nieprawidlowa wartosc w polu Speed field!");
					} else {
						alert("ERROR! False value in Speed field!");
					}
						return false;
			    }
		    }

		    if (f.Speed1.value == "K") {
			    if (!(Speed_K.test(f.Speed.value))) {
						f.Speed.focus();
						f.Speed.select();
					if (i=='pl') {
						alert("BLAD! Nieprawidlowa wartosc w polu Speed!");
					} else {
						alert("ERROR! False value in 'Speed' field!");
					}
						return false;
			    }
		    }


		    if (f.Speed1.value == "M") {
			    if (!(Speed_M.test(f.Speed.value))) {
						f.Speed.focus();
						f.Speed.select();
					if (i=='pl') {
						alert("BLAD! Nieprawidlowa wartosc w polu Speed!");
					} else {
						alert("ERROR! False value in 'Speed' field!");
					}
						return false;
			    }
		    }


		    if (f.Level1.value == "F") {
			    if (!(Level_F.test(f.Level.value))) {
						f.Level.focus();
						f.Level.select();
					if (i=='pl') {
						alert("BLAD! Nieprawidlowa wartosc w polu Level!");
					} else {
						alert("ERROR! False value in 'Level' field!");
					}
						return false;
			    }
		    }
		    
		    if (f.Level1.value == "S") {
			    if (!(Level_S.test(f.Level.value))) {
						f.Level.focus();
						f.Level.select();
					if (i=='pl') {
						alert("BLAD! Nieprawidlowa wartosc w polu Level!");
					} else {
						alert("ERROR! False value in 'Level' field!");
					}
						return false;
			    }
		    }


		    if (f.Level1.value == "A") {
			    if (!(Level_A.test(f.Level.value))) {
						f.Level.focus();
						f.Level.select();
					if (i=='pl') {
						alert("BLAD! Nieprawidlowa wartosc w polu Level!");
					} else {
						alert("ERROR! False value in 'Level' field!");
					}
						return false;
			    }
		    }


		    if (f.Level1.value == "M") {
			    if (!(Level_M.test(f.Level.value))) {
						f.Level.focus();
						f.Level.select();
					if (i=='pl') {
						alert("BLAD! Nieprawidlowa wartosc w polu Level!");
					} else {
						alert("ERROR! False value in 'Level' field!");
					}
						return false;
			    }
		    }


		    if (f.Level1.value == "VFR") {
			    if (!(Level_VFR.test(f.Level.value))) {
							    f.Level.focus();
							    f.Level.select();
					if (i=='pl') {
						alert("BLAD! Nieprawidlowa wartosc w polu Level!");
					} else {
						alert("ERROR! False value in 'Level' field!");
					}
							    return false;
				}
		    }

		    if (!(f.Route.value)) {
					f.Route.focus();
					f.Route.select();
					if (i=='pl') {
						alert("BLAD! Nieprawidlowa wartosc w polu Route!");
					} else {
						alert("ERROR! False value in 'Route' field!");
					}
					return false;
		    }



		    if (!(ADES.test(f.ADES.value))) {
					f.ADES.focus();
					f.ADES.select();
					if (i=='pl') {
						alert("BLAD! Nieprawidlowa wartosc w polu Aerodrome Of Destination!");
					} else {
						alert("ERROR! False value in Aerodrome Of Destination field!");
					}
					return false;
		    }

		    if ((f.ADES.value == "ZZZZ")||(f.ADES.value == "zzzz")) {

				if (!(Other_ADES.test(f.Other.value))) {
						f.Other.focus();
						f.Other.select();
					if (i=='pl') {
						alert("BLAD! Brak oznaczenia lotniska docelowego DEST/ w polu 18");
					} else {
						alert("ERROR! No DEST/ designator on 18 field");
					}
						return false;
				}
		    }


		    if (!(EET.test(f.EET.value))) {
					f.EET.focus();
					f.EET.select();
					if (i=='pl') {
						alert("BLAD! Nieprawidlowa wartosc w polu EET!");
					} else {
						alert("ERROR! False value in EET field!");
					}
					return false;
		    }
		    


		    if ((f.ALTN1.value == "ZZZZ")||(f.ALTN1.value == "zzzz")) {

				if (!(Other_ALTN.test(f.Other.value))) {
						f.Other.focus();
						f.Other.select();
					if (i=='pl') {
						alert("BLAD! Brak oznaczenia lotniska zapasowego ALTN/ w polu 18");
					} else {
						alert("ERROR! No ALTN/ designator on 18 field");
					}
						return false;
				}
		    }



		    if (f.Flight_rules.value == "V") {
				if (!(f.ALTN1.value)=="") {
					if (!(ALTN1.test(f.ALTN1.value))) {
						    f.ALTN1.focus();
						    f.ALTN1.select();
					if (i=='pl') {
						    alert("BLAD! Nieprawidlowa wartosc w polu Alternate Aerodrme!");
					} else {
						    alert("ERROR! False value in 'Alternate Aerodrme' field!");
					}
						    return false;
					}
				}
		    } else {
				if (!(ALTN1.test(f.ALTN1.value))) {
					f.ALTN1.focus();
					f.ALTN1.select();
					if (i=='pl') {
						alert("BLAD! Nieprawidlowa wartosc w polu Alternate Aerodrome!");
					} else {
						alert("ERROR! False value in Alternate Aerodrome field!");
					}
					return false;
				}
		    }


		    if (!(f.ALTN2.value)=="") {
				if (!(ALTN2.test(f.ALTN2.value))) {
						f.ALTN2.focus();
						f.ALTN2.select();
					if (i=='pl') {
						alert("BLAD! Nieprawidlowa wartosc w polu 2-nd Alternate Aerodrome!");
					} else {
						alert("ERROR! False value in '2-nd Alternate Aerodrome' field!");
					}
						return false;
				}
		    }

		    if (!(f.Other.value)) {
					f.Other.focus();
					f.Other.select();
					if (i=='pl') {
						alert("BLAD! Nieprawidlowa wartosc w polu Other Information!");
					} else {
						alert("ERROR! False value in 'Other Information' field!");
					}
					return false;
		    }


		    if (!(Endurance.test(f.Endurance.value))) {
					f.Endurance.focus();
					f.Endurance.select();
					if (i=='pl') {
						alert("BLAD! Nieprawidlowa wartosc w polu Endurance!");
					} else {
						alert("ERROR! False value in 'Endurance' field!");
					}
					return false;
		    }
		    
		    if ((f.Endurance.value)<=(f.EET.value)) {
					f.Endurance.focus();
					f.Endurance.select();
					if (i=='pl') {
						alert("BLAD! Czas w polu Endurance powinien byc dluzszy niz w polu EET");
					} else {
						alert("ERROR! Time in Endurance Field shall be longer than EET");
					}
					return false;
		    }

		    if (!(POB.test(f.POB.value))) {
					f.POB.focus();
					f.POB.select();
					if (i=='pl') {
						alert("BLAD! Nieprawidlowa wartosc w polu Persons On Board");
					} else {
						alert("ERROR! False value in Persons On Board field!");
					}
					return false;
		    }

		    if (f.Survival.checked) {
			    if ((!((f.Maritime.checked)||(f.Desert.checked)||(f.Polar.checked)||(f.Jungle.checked)))) {
					if (i=='pl') {
						alert("BLAD! Zaznaczajac pole Survival musisz zaznaczyc co najmniej jedno z pol Polar, Desert, Maritime lub Jungle");
					} else {
						alert("ERROR! If field Survival is checked you have to check Polar, Desert, Maritime or Jungle fields");
					}
					return false;
			    }
		    }

		    if (f.Jackets.checked) {
			    if ((!((f.Light.checked)||(f.Fluores.checked)||(f.J_UHF.checked)||(f.J_VHF.checked)))) {
					if (i=='pl') {
						alert("BLAD! Zaznaczajac pole Jackets musisz zaznaczyc jedno z pol Light, Fluores, UHF lub VHF!");
					} else {
						alert("ERROR! If field Jackets is checked you have to check at least one of Light, Fluores, UHF, VHF fields!");
					}
					return false;
			    }
		    }
		    if (f.Dinghies.checked) {
			    if (!(Dinghies_nr.test(f.Dinghies_nr.value))) {
					f.Dinghies_nr.focus();
					f.Dinghies_nr.select();
					if (i=='pl') {
						alert("BLAD! Zaznaczajac pole Dinghies musisz wypelnic pole Dinghies Number!");
					} else {
						alert("ERROR! Checking Dinghies field you have to fill Dinghies Number field!");
					}
					return false;
			    }
			    if (!(Dinghies_capacity.test(f.Dinghies_capacity.value))) {
					f.Dinghies_capacity.focus();
					f.Dinghies_capacity.select();
					if (i=='pl') {
						alert("BLAD! Zaznaczajac pole Dinghies musisz wypelnic pole Dinghies Capacity!");
					} else {
						alert("ERROR! Checking Dinghies field you have to fill Dinghies Capacity field!");
					}
					return false;
			    }
		    }

		    if (f.Dinghies_cover.checked) {
			    if (!(f.Dinghies_colour.value)) {
					f.Dinghies_colour.focus();
					f.Dinghies_colour.select();
					if (i=='pl') {
						alert("BLAD! Zaznaczajac pole Dinghies Cover musisz wypelnic pole Dinghies Colour!");
					} else {
						alert("ERROR! Checking Dinghies Cover field you have to fill Dinghies Colour field!");
					}
					return false;
			    }
			    if (!(Dinghies_colour.test(f.Dinghies_colour.value))) {
					f.Dinghies_colour.focus();
					f.Dinghies_colour.select();
					if (i=='pl') {
						alert("BLAD! W polu Dinghies Colour nie moga znajdowac sie polskie znaki!");
					} else {
						alert("ERROR! In Dinghies Cover field cannot be used local characters!");
					}
					return false;
			    }
		    
		    }

		    if (!(ac_colour.test(f.ac_colour.value))) {
				f.ac_colour.focus();
				f.ac_colour.select();
					if (i=='pl') {
						alert("BLAD! Nieprawidlowa wartosc w polu Aircraft Colour!");
					} else {
						alert("ERROR! False value in Aircraft Colour field!");
					}
				return false;
		    }

		    if (f.rmk.checked) {
			    if (!(rmk_text.test(f.rmk_text.value))) {
					f.rmk_text.focus();
					f.rmk_text.select();
					if (i=='pl') {
						alert("BLAD! Nieprawidlowa wartosc w polu Remarks!");
					} else {
						alert("ERROR! False value in Remarks field!");
					}
						return false;
			    }
		    }

		    if (!(pilot_in_command.test(f.pilot_in_command.value))) {
				f.pilot_in_command.focus();
				f.pilot_in_command.select();
					if (i=='pl') {
						alert("BLAD! Nieprawidlowa wartosc w polu Pilot In Command field!");
					} else {
						alert("ERROR! False value in 'Pilot In Command' field!");
					}
				return false;
		    }


		    if (!(f.mail.value)) {
					f.mail.focus();
					f.mail.select();
					if (i=='pl') {
						alert("BLAD! Nieprawidlowa wartosc w polu e-mail!");
					} else {
						alert("ERROR! False value in e-mail field!");
					}
					return false;
		    }

		    if (!(f.phone.value)) {
					f.phone.focus();
					f.phone.select();
					if (i=='pl') {
						alert("BLAD! Nieprawidlowa wartosc w polu Phone!");
					} else {
						alert("ERROR! False value in Phone field!");
					}
					return false;
		    }



					if (i=='pl') {
		    return confirm("Wypwlnono prawidlowo. Wyslac?");
					} else {
		    return confirm("Filled Correctly. Send?");
					}
}





//////////////////////////////////////////////////////////////////////////////////////////////////////
//				SPRAWDZENIE FORMULARZA NOTAM VIEWER				   //
/////////////////////////////////////////////////////////////////////////////////////////////////////


function validate_notam(i) {
		
		    var f=document.search;

		    //Definicja zmiennych regexp

		    var S=/[A-Za-z0-9]/;
		    var R=/([0-9]{4})|(\b[0-9]{2}\b)/;
		    var L = /[A-Za-z]{4}/;
		    var C = /[A-Za-z]{4}/;
		    var Vf=/([0-9]{4})-([0-9]{2})-([0-9]{2})/;
		    var Vt=/([0-9]{4})-([0-9]{2})-([0-9]{2})/;





		    if (!(f.Lokalizacja.value)=="") {
				if (!(L.test(f.Lokalizacja.value))) {
						f.Lokalizacja.focus();
						f.Lokalizacja.select();
					if (i=='pl') {
						alert("BŁĄD! Nieprawidłowa wartość w polu 'Lokalizacja'!");
					} else {
						alert("ERROR! False value in Location field!");
					}
						return false;
					
				}
		    }
		    
		    
		    if (!(f.Rok.value)=="") {
				if (!(R.test(f.Rok.value))) {
						f.Rok.focus();
						f.Rok.select();
					if (i=='pl') {
						alert("BŁĄD! Nieprawidłowa wartoŚĆ w polu 'Rok'");
					} else {
						alert("ERROR! False value in Year field");
					}
						return false;
				}
		    }


		    if (!(f.Code_Q.value)=="") {
				if (!(C.test(f.Code_Q.value))) {
						f.Code_Q.focus();
						f.Code_Q.select();
					if (i=='pl') {
						alert("BŁĄD! Nieprawidłowa wartość w polu 'Kod Q'");
					} else {
						alert("ERROR! False value in Code Q field");
					}
						return false;
				}
		    }



		    var date_from = null;
		    var date_to = null;
		    if (!(f.Valid_from.value)=="") {
        			if (!(Vf.test(f.Valid_from.value))) {
            					f.Valid_from.focus();
            					f.Valid_from.select();
					if (i=='pl') {
            					alert("BŁĄD! Nieprawidłowa wartość w polu 'Ważne od'!");
					} else {
            					alert("ERROR! False value in Valid From field!");
					}
            					return false;
            			}
        			var tmp=f.Valid_from.value;
        			date_from=new Date(tmp.substring(0,4),tmp.substring(5,7)-1,tmp.substring(8,10),0,0,0);

        	    }



		    if (!(f.Valid_to.value)=="") {
        			if (!(Vt.test(f.Valid_to.value))) {
            					f.Valid_to.focus();
            					f.Valid_to.select();
					if (i=='pl') {
            					alert("BŁĄD! Nieprawidłowa wartość w polu 'Ważne do'!");
					} else {
            					alert("ERROR! False value in Valid to field!");
					}
            					return false;
            			}
        			var tmp=f.Valid_to.value;
        			date_to=new Date(tmp.substring(0,4),tmp.substring(5,7)-1,tmp.substring(8,10),0,0,0);
        	    }



		    if (f.Valid_to.value=="") {
				(f.Valid_to.value)=(f.Valid_from.value)
		    }
	    
	    
	    
		    if (!(( date_from == null) || (date_to == null))) {
    				if (date_from.getTime()>date_to.getTime()) {
        					f.Valid_to.focus();
        					f.Valid_to.select();
					if (i=='pl') {
        					alert("BLAD! Data w polu 'Wazne od' jest wieksza od daty w polu 'Wazne do'!");
					} else {
        					alert("ERROR! Date in Valid from field is later than in Valid to field!");
					}
        					return false;
        			}
		    }

					if (i=='pl') {
		    return confirm("Wypwlnono prawidlowo. Wyslac?");
					} else {
		    return confirm("Filled Correctly. Send?");
					}


}


//////////////////////////////////////////////////////////////////////////////////////////////////////
//				SPRAWDZENIE FORMULARZA WYSZUKIWARKA NOTAM EST  			   //
/////////////////////////////////////////////////////////////////////////////////////////////////////


function validate_est(i) {
		
		    var f=document.search;


		    //Definicja zmiennych regexp

		    var Year=/([0-9]{4})|(\b[0-9]{2}\b)/;
		    var Vf=/([0-9]{4})-([0-9]{2})-([0-9]{2})/;
		    

		    if (!(f.Rok.value)=="") {
				if (!(Year.test(f.Rok.value))) {
						f.Rok.focus();
						f.Rok.select();
					if (i=='pl') {
						alert("BLAD! Nieprawidlowa wartosc w polu 'Rok'!");
					} else {
						alert("ERROR! False value in Year field!");
					}					
						return false;
				}
		    }

		    if (!(f.Valid_to.value)=="") {
        			if (!(Vf.test(f.Valid_to.value))) {
            					f.Valid_to.focus();
            					f.Valid_to.select();
					if (i=='pl') {
            					alert("BŁĄD! Nieprawidłowa wartość w polu 'Ważne do'!");
					} else {
            					alert("ERROR! False value in Valid To field!");
					}
            					return false;
            			}
		    }
		    

					if (i=='pl') {
		    return confirm("Wypwlnono prawidlowo. Wyslac?");
					} else {
		    return confirm("Filled Correctly. Send?");
					}


}


//////////////////////////////////////////////////////////////////////////////////////////////////////
//				SPRAWDZENIE FORMULARZA PERM NOTAM VIEWER			   //
/////////////////////////////////////////////////////////////////////////////////////////////////////


function validate_perm(i) {
		
		    var f=document.search;


		    //Definicja zmiennych regexp

		    var Year=/([0-9]{4})|(\b[0-9]{2}\b)/;
		    

		    //Wyszukiwanie blędów

		    if (!(f.Rok.value)=="") {
				if (!(Year.test(f.Rok.value))) {
						f.Rok.focus();
						f.Rok.select();
					if (i=='pl') {
						alert("BLAD! Nieprawidlowa wartosc w polu 'Rok'!");
					} else {
						alert("ERROR! False value in Year field!");
					}					
						return false;
				}
		    }


					if (i=='pl') {
		    return confirm("Wypwlnono prawidlowo. Wyslac?");
					} else {
		    return confirm("Filled Correctly. Send?");
					}


}





//////////////////////////////////////////////////////////////////////////////////////////////////////
//				SPRAWDZENIE FORMULARZA PFB MANUAL				   //
/////////////////////////////////////////////////////////////////////////////////////////////////////


function validate_pfb(i) {

		    var f=document.search_pfb;

		    //Definicja zmiennych regexp

		    var callsign=/([A-Za-z])|([0-9])/;
		    var dep=/([A-Za-z]{4})/;
		    var arr=/([A-Za-z]{4})/;
		    var dof=/([0-9]{4})-([0-9]{2})-([0-9]{2})/;
		    var eobt=/((([01][0-9])|(2[0-3]))([0-5][0-9]))/;
		    var re=/^([ ,;]*)([A-Za-z]{4})(([ ,;]{1,})([A-Za-z]{4}))*([ ,;]*)$/;


		    //Wyszukiwanie bledow

		    if (!(callsign.test(f.Callsign.value))) {
				f.Callsign.focus();
				f.Callsign.select();
					if (i=='pl') {
				alert("BLAD! Nieprawidlowa wartosc w polu Znak rozpoznawczy!");
					} else {
				alert("ERROR! False value in Callsign field!");
					}
				return false;
		    }


		    if (!(dep.test(f.ADEP.value))) {
					if (i=='pl') {
				alert("BLAD! Nieprawidlowa wartosc w polu 'Lotnisko Startu'");
					} else {
				alert("ERROR! False value in Departure Aerodrome field");
					}
				f.ADEP.focus();
				f.ADEP.select();
				return false;
		    }


		    if (!(arr.test(f.ADES.value))) {
				f.ADES.focus();
				f.ADES.select();
					if (i=='pl') {
				alert("BLAD! Nieprawidlowa wartosc w polu 'Lotnisko docelowe'!");
					} else {
				alert("ERROR! False value in Destination Aerodrome field!");
					}
				return false;
		    }



		    if (!(dof.test(f.DOF.value))) {
				f.DOF.focus();
				f.DOF.select();
					if (i=='pl') {
				alert("BLAD! Niepoprawna wartosc w polu 'Data lotu'!");
					} else {
				alert("ERROR! False value in Date of Flight Field!");
					}
				return false;
		    }


		    if (!(eobt.test(f.EOBT.value))) {
				f.EOBT.focus();
				f.EOBT.select();
					if (i=='pl') {
				alert("BLAD! Niepoprawna wartosc w polu 'EOBT'!");
					} else {
				alert("ERROR! False value in EOBT Field!");
					}
				return false;
		    }



		    if (!(re.test(f.aerodrome.value))) {
					if (i=='pl') {
				alert("BLAD! Niepoprawna wartosc w polu 'Lotniska'!");
					} else {
				alert("ERROR! False value in Aerodromes field!");
					}
				f.aerodrome.focus();
				f.aerodrome.select();
				return false;
		    }


		    if (!(re.test(f.fir.value))) {
					if (i=='pl') {
 				alert("BLAD! Niepoprawna wartosc w polu 'FIRy'");
					} else {
 				alert("ERROR! False value in FIRs Field");
					}
				f.fir.focus();
				f.fir.select();
				return false;
		    }

					if (i=='pl') {
		    return confirm("Wypwlnono prawidlowo. Wyslac?");
					} else {
		    return confirm("Filled Correctly. Send?");
					}


}



//////////////////////////////////////////////////////////////////////////////////////////////////////
//				SPRAWDZENIE FORMULARZA SNOWTAM VIEWER				   //
/////////////////////////////////////////////////////////////////////////////////////////////////////


function validate_snowtam() {
		
		    var f=document.search;

		    //Definicja zmiennych regexp

		    var Nf=/\d+/;
		    var Nt=/\d*/;
		    var L=/([A-Za-z]{4})|(\b[A-Za-z]{2}\b)/;
		    var R=/([0-9]{4})|(\b[0-9]{2}\b)/;

		    var Vf=/([0-9]{4})-([0-9]{2})-([0-9]{2})/;
		    var Vt=/([0-9]{4})-([0-9]{2})-([0-9]{2})/;

		    //Wyszukiwanie blędów

		    if (f.All_numbers.checked) {
				(f.Number_from.value = "0001");
				(f.Number_to.value = "9999");
		    }

		    
		    if (!(Nf.test(f.Number_from.value))) { 
				alert("BLAD! Nieprawidlowa wartosc w polu 'NUMER od'!");
				f.Number_from.focus();
				f.Number_from.select();
				return false;
		    }


		    if (!(Nt.test(f.Number_to.value))) {
				f.Number_to.focus();
				f.Number_to.select();
				alert("BLAD! Nieprawidlowa wartosc w polu 'Numer do'!");
				return false;
		    }


		    if (!(f.Number_to.value)=="") {
				if ((f.Number_from.value)-(f.Number_to.value)>0) {
						f.Number_to.focus();
						f.Number_to.select();
						alert("BLAD! Wartosc w polu 'Numer od' jest wieksza od wartosci w polu 'do'!");
						return false;
				}
		    } else {
				((f.Number_to.value)=(f.Number_from.value))
		    }
	

		    if (!(f.ad.value)=="") {
				if (!(L.test(f.ad.value))) {
						f.ad.focus();
						f.ad.select();
						alert("BLAD! Nieprawidlowa wartosc w polu 'Lotnisko'");
						return false;
				}
		    }
		    
		    
		    if (!(f.Rok.value)=="") {
				if (!(R.test(f.Rok.value))) {
						f.Rok.focus();
						f.Rok.select();
						alert("BLAD! Nieprawidlowa wartosc w polu 'Rok'!");
						return false;
				}
		    }


		    var date_from = null;
		    var date_to = null;
		    if (!(f.Valid_from.value)=="") {
        			if (!(Vf.test(f.Valid_from.value))) {
            					f.Valid_from.focus();
            					f.Valid_from.select();
            					alert("BLAD! Nieprawidlowa wartosc w polu 'Wazne od'!");
            					return false;
            			}
        			var tmp=f.Valid_from.value;
        			date_from=new Date(tmp.substring(0,4),tmp.substring(5,7)-1,tmp.substring(8,10),0,0,0);

        	    }



		    if (!(f.Valid_to.value)=="") {
        			if (!(Vt.test(f.Valid_to.value))) {
            					f.Valid_to.focus();
            					f.Valid_to.select();
            					alert("BLAD! Nieprawidlowa wartosc w polu 'Wazne do'!");
            					return false;
            			}
        			var tmp=f.Valid_to.value;
        			date_to=new Date(tmp.substring(0,4),tmp.substring(5,7)-1,tmp.substring(8,10),0,0,0);
        	    }



		    if (f.Valid_to.value=="") {
				(f.Valid_to.value)=(f.Valid_from.value)
		    }
	    
	    
	    
		    if (!(( date_from == null) || (date_to == null))) {
    				if (date_from.getTime()>date_to.getTime()) {
        					f.Valid_to.focus();
        					f.Valid_to.select();
        					alert("Error! Data w polu 'Data od' jest wieksza niz data w polu 'Data do'");
        					return false;
        			}
		    }



		    return confirm("Wypelniono prawidlowo. Szukac?");
}



function validate_airspace(i) {

		    var f=document.search_pfb;

		    //Definicja zmiennych regexp

		    var dof=/([0-9]{4})-([0-9]{2})-([0-9]{2})/;
		    var eobt=/((([01][0-9])|(2[0-3]))([0-5][0-9]))/;
		    var Level_1 = /([0-9]{3,4})/;
		    var Level_2 = /([0-9]{3,4})/;

		    //Wyszukiwanie bledow

		    if (!(dof.test(f.DOF.value))) {
				f.DOF.focus();
				f.DOF.select();
				if (i=="pl") {
				    alert("BLAD! Niepoprawna wartosc w polu 'Data lotu'!");
				} else {
				    alert("ERROR! False value in Date of Flight field!");
				}				
				return false;
		    }


		    if (!(eobt.test(f.EOBT.value))) {
				f.EOBT.focus();
				f.EOBT.select();
				if (i=="pl") {
				alert("BLAD! Niepoprawna wartosc w polu 'EOBT'!");
				} else {
				alert("ERROR! False value in field EOBT!");
				}
				return false;
		    }

		    if (!(Level_1.test(f.Level_1.value))) {
				f.Level_1.focus();
				f.Level_1.select();
				if (i=="pl") {
				alert("BLAD! Niepoprawna wartosc w polu Wysokosc od!");
				} else {
				alert("ERROR! False value in field Altitude from!");
				}
				return false;
		    }

		    if (!(Level_2.test(f.Level_2.value))) {
				f.Level_2.focus();
				f.Level_2.select();
				if (i=="pl") {
				alert("BLAD! Niepoprawna wartosc w polu Wysokosc do!");
				} else {
				alert("ERROR! False value in Altitude to field!");
				}				
				return false;
		    }

				if (i=="pl") {

		    return confirm("Wypelnione prawidlowo. Szukac?");
				} else {
		    return confirm("Filled Correctly. Search?");
		    }				
				
}


function validate_acc(i) {
		
		    var f=document.search;

		    //Definicja zmiennych regexp

		    var L = /[A-Za-z]{4}/;

		    if (f.Lokalizacja.value=="Other") {
				if (!(L.test(f.Lokalizacja1.value))) {
						f.Lokalizacja1.focus();
						f.Lokalizacja1.select();
					if (i=='pl') {
						alert("BŁĄD! Nieprawidłowa wartość w polu 'Lokalizacja'!");
					} else {
						alert("ERROR! False value in Location field!");
					}
						return false;
					
				}
		    }

					if (i=='pl') {

		    return confirm("Wypelnione prawidlowo. Szukac?");
				} else {
		    return confirm("Filled Correctly. Search?");
		    }				


}