function CheckRegForm() {
var f = document.newmember;

// kontrola e-mailu
if (emailCheck(f.mem_email.value)==false) {
		f.mem_email.select();
		f.mem_email.focus();
		return false;
	}

// kontrola shody hesel
	// kontrola delky
	if (f.mem_pwd1.value.length < 3) {
		alert ("Heslo musí obsahovat alespoň 3 znaky!");
	 	f.mem_pwd1.value = "";
	 	f.mem_pwd2.value = "";
	 	f.mem_pwd1.focus();
	 	return false;
		}

	// kontrola obsahu
	if (f.mem_pwd1.value != f.mem_pwd2.value) {
	 	alert ("Byla zadána nestejná hesla,\nprosím, zadejte je znovu...");
	 	f.mem_pwd1.value = "";
	 	f.mem_pwd2.value = "";
	 	f.mem_pwd1.focus();
	 	return false;
	 }

	// kontrola kluboveho jmena
	if (f.mem_name.value.length < 1) {
		alert("Musíte vyplnit klubové jméno");
		f.mem_name.select();
		f.mem_name.focus();
		return false;
	}

	// kontrola krestniho jmena
	if (f.mem_firstname.value.length < 2) {
		alert("Musíte vyplnit křestní jméno");
		f.mem_firstname.select();
		f.mem_firstname.focus();
		return false;
	}

	// kontrola příjmení
	if (f.mem_surname.value.length < 2) {
		alert("Musíte vyplnit příjmení");
		f.mem_surname.select();
		f.mem_surname.focus();
		return false;
	}

	// kontrola Lokality
	if (f.mem_loc_city.value.length < 2) {
		alert("Musíte vyplnit lokalitu (stačí i okres)");
		f.mem_loc_city.select();
		f.mem_loc_city.focus();
		return false;
	}

	//vyplněné auto jiné než Focus
	if (f.mem_auto_other.value.length > 0) {
		if (confirm('Vyplnil/a jste pole pro zadání jiného typu vozidla než Ford Focus...\nPokud budete pokračovat, nastavení údajů o Focusu bude ztraceno a odešle se obsah pole "Jiné než Focus"\nChcete pokračovat?')) {
              // reset fields
              f.motor.selectedIndex = 0;
              f.body.selectedIndex = 0;
              f.color.selectedIndex = 0;
              f.suit.selectedIndex = 0;
              f.precol.style.backgroundColor = 'FFFFFF';
              f.mem_auto_year.value = '';
              f.mem_auto_text.value = '';
		} else return false;
	}

 	// kontrola souhlasu s podmínkami
 	if (!f.agreement.checked) {
 		alert('Pro pokračování je třeba vyjádřit souhlas se stanovami klubu a registračními podmínkami');
 		return false;
 	}

return true;
}


function emailCheck (emailStr) {

var checkTLD=1;
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("KONTROLA E-MAILOVE ADRESY: Adresa neni v poradku (zkontrolujte @ a .)");
return false;
}

var user=matchArray[1];
var domain=matchArray[2];

for (i=0; i<user.length; i++) {
 if (user.charCodeAt(i)>127) {
	alert("KONTROLA E-MAILOVE ADRESY: Uzivatelske jmeno (pred @) obsahuje nepripustne znaky");
	return false;
   }
}

for (i=0; i<domain.length; i++) {
	if (domain.charCodeAt(i)>127) {
		alert("Domena obsahuje nepripustne znaky");
		return false;
   }
}

if (user.match(userPat)==null) {
alert("KONTROLA E-MAILOVE ADRESY: Uzivatelske jmeno (pred @) nema pripustny format");
return false;
}

var IPArray=domain.match(ipDomainPat);
	if (IPArray!=null) {
		for (var i=1;i<=4;i++) {
			if (IPArray[i]>255) {
				alert("KONTROLA E-MAILOVE ADRESY: Cilova IP adresa neni v poradku");
				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("KONTROLA E-MAILOVE ADRESY: Domena neni v poradku");
		return false;
    }
}

if (checkTLD && domArr[domArr.length-1].length!=2 &&
	domArr[domArr.length-1].search(knownDomsPat)==-1) {
	alert("KONTROLA E-MAILOVE ADRESY: Adresa musi koncit existujici domenou 1. radu");
	return false;
}

if (len<2) {
	alert("KONTROLA E-MAILOVE ADRESY: Teto adrese chybi hostitel (za @)");
	return false;
}

return true;
}

