	
	// validate entier form

function validateregisterform(theForm) {
   var valid = true;
   if ( !validatef_name(theForm.f_name.value) ) valid = false;
   if ( !validatesurname(theForm.surname.value) ) valid = false;
   if ( !validatedob(theForm.dob.value) ) valid = false;
   if ( !validateadd1(theForm.add1.value) ) valid = false;
   if ( !validateadd2(theForm.add2.value) ) valid = false;
   if ( !validateadd3(theForm.add3.value) ) valid = false;
   if ( !validatetele(theForm.tele.value) ) valid = false;
   if ( !validateEmail(theForm.email.value) ) valid = false;
   if ( !validateusername(theForm.username.value) ) valid = false;
   if ( !validatepassword(theForm.password.value) ) valid = false;
   if ( !passwordmatch(theForm.password.value) ) valid = false;
  // if ( !validatepasswordmatch(theForm.repass.value && theForm.password.value) ) valid = false;
  if ( !passwordmatch(document.getElementById('password').value && document.getElementById('repass').value) ) valid = false;
   if ( valid ) return true;
   else return false;
}
	function validatef_name(f_nameString) {
		  var valid = true;
		  var fname = /^\+?[0-9 ()-]+[0-9]$/  ;
		  var illegalChars = /\W/;
		  
		  if ( f_nameString == "" ) {
			  feedback('fMess','Required',7);
			  valid = false;
	}     
		else if (fname.test(f_nameString)) {
		   feedback('fMess','Invalid',7); 
		   valid = false;
	}     
		else if (illegalChars.test(f_nameString)) {
		   feedback('fMess','Invalid',7); 
		   valid = false;
	}
		else if ( f_nameString.length <= 1 ) {
			  feedback('fMess','too short*',7);
			  valid = false;
	}     else feedback('fMess','',1);
	
		  if ( valid ) return true;
		  else return false;
	}
	
	function validatesurname(surnameString) {
	   var valid = true;
	   var sname = /^\+?[0-9 ()-]+[0-9]$/  ;
	   var illegalChars = /\W/;
	   
		if ( surnameString == "" ) {
			  feedback('sMess','Required',7);
			  valid = false;
	}
	
		else if (sname.test(surnameString)) {
		   feedback('sMess','Invalid',7); 
		   valid = false;
	}     
		else if (illegalChars.test(surnameString)) {
		   feedback('sMess','Invalid',7); 
		   valid = false;
	}
	
		else if ( surnameString.length <= 1 ){
			  feedback('sMess','too short*',7);
			  valid = false;
	}    else feedback('sMess','',1);
	
		 if ( valid ) return true;
		 else return false;
	}
	
	function validatedob(dobString) {
	   var valid = true;
	   var dob = /^\+?[0-9 ()-]+[0-9]$/  ;
	   
		 if ( dobString == "" ) {
			 feedback('dobMess','Required',7);
			 valid = false;
	}   
		else if (!dob.test(dobString)) {
		   feedback('dobMess','Invalid',7); 
		   valid = false;
	}  
		else if ( dobString > 60){
			 feedback('dobMess','over age',7);
			 valid = false;
	}   
	
		else if ( dobString < 16){
			 feedback('dobMess','under age*',7);
			 valid = false;
	} 
		else feedback('dobMess','',1);
	
		if ( valid ) return true;
		else return false;
	}
	
	function validateadd1(add1String) {
	   var valid = true;
	   //var illegalChars = /\W/;
	   
	   if ( add1String == "" ) {
		  feedback('hMess','Required',7);
		  valid = false;
		  
	}
	/*	else if (illegalChars.test(add1String)) {
		   feedback('hMess','House number has invalid character*',7); 
		   valid = false;
	} 
	*/
		else if ( add1String.length <= 1 ) {
		  feedback('hMess','too short',7);
		  valid = false;
		  
	} 
	
		else feedback('hMess','',1);
	
	   if ( valid ) return true;
	   else return false;
	}
	
	function validateadd2(add2String) {
	   var valid = true;
	   //var illegalChars = /\W/;
	
		if ( add2String == "" ) {
		  feedback('stMess','Required',7);
		  valid = false;
	} 
	 /*	else if (illegalChars.test(add2String)) {
		   feedback('stMess','Street name has invalid character*',7); 
		   valid = false;
	}   
	 */
		else if ( add2String.length <= 5 ){
		  feedback('stMess','too short',7);
		  valid = false;
	} 
		else feedback('stMess','',1);
	
	   if ( valid ) return true;
	   else return false;
	}
	
	function validateadd3(add3String) {
	   var valid = true;
	   //var illegalChars = /\W/;
	
	   if ( add3String == "" ) {
		  feedback('tMess','Required',7);
		  valid = false;
	} 
	/*	else if (illegalChars.test(add3String)) {
		   feedback('tMess','Street name has invalid character*',7); 
		   valid = false;
	}  
	*/
	
		else if ( add3String.length <= 5 ){
		  feedback('tMess','too short',7);
		  valid = false;
	} 
		else feedback('tMess','',1);
	
	   if ( valid ) return true;
	   else return false;
	}
	
	function validatetele(teleString) {
	   var valid = true;
	   var telnr = /^\+?[0-9 ()-]+[0-9]$/  ;
	   
	   if ( teleString == "" ) {
		  feedback('telMess','Required',7);
		  valid = false;
	}
		else if (!telnr.test(teleString)) {
		   feedback('telMess','Invalid',7); 
		   valid = false;
	}
		
		else if ( teleString.length != 10 ){
		  feedback('telMess','Invalid',7);
		  valid = false;
	} 
		else feedback('telMess','',1);
	
	   if ( valid ) return true;
	   else return false;
	}
	
	/*
	function validatemobil(mobilString) {
	   var valid = true;
	   var mobinr = /^\+?[0-9 ()-]+[0-9]$/  ;
	   
	   if (!mobinr.test(mobilString)) {
		  feedback('mMess','Invalida Mobil number*',7);
		  valid = false;
	 }
		else if ( mobilString.length != 10 ){
		  feedback('mMess','Mobil number is not valid*',7);
		  valid = false;
	 } 
		else feedback('mMess','Mobil',1);
	
	   if ( valid ) return true;
	   else return false;
	}
	*/
	
	// test for a valid email entry
function validateEmail(emailString) {
   var valid = true;

   if ( emailString == "" ) {
      feedback('eMess','Enter your email address here',7);
      valid = false;
   } else if ( !validEmailString(emailString) ) {
      feedback('eMess','Not a valid email address',7);
      valid = false;
   } else feedback('eMess','Valid email',1);

   if ( valid ) return true;
   else return false;
}
	
	function validateusername(usernameString) {
	   var valid = true;
	   var illegalChars = /\W/;
	
	   if ( usernameString == "" ) {
		  feedback('userMess','Required',7);
		  valid = false;
	}
		else if (illegalChars.test(usernameString)) {
		   feedback('userMess','invalid',7); 
		   valid = false;
	}
		else if ( usernameString.length <= 5 ) {
		  feedback('userMess','too short*',7);
		  valid = false;
	} 
		else feedback('userMess','',1);
	
		if ( valid ) return true;
	   else return false;
	}
	
	function validatepassword(passwordString) {
	   var valid = true;
	   var illegalChars = /\W/;
	   
	   if ( passwordString == "" ) {
		  feedback('passMess','Required',7);
		  valid = false;
	} 
	
		else if (illegalChars.test(passwordString)) {
		   feedback('passMess','invalid',7); 
		   valid = false;
	}
		else if ( passwordString.length <=5 ) {
		  feedback('passMess','too short',7);
		  valid = false;
	} 
		else feedback('passMess','',1);
	
		if ( valid ) return true;
	   else return false;
	}
	
	function validaterepass(repassString) {
	   var valid = true;
	
	   if ( repassString == "" ) {
		  feedback('repassMess','Required',7);
		  valid = false;
	} 
	   else if ( repassString.length <=5) {
		  feedback('repassMess','too short*',7);
		  valid = false;
	}  else feedback('repassMess','',1);
	
	   if ( valid ) return true;
	   else return false;
	}
	
	function passwordmatch(repassString, passwordString) {
	   var valid = true;
	
	   if (passwordString != repassString) {
		  feedback('repassMess','Mismatch',7);
		  valid = false;
	} 
	   else feedback('repassMess','',1);
	
	   if ( valid ) return true;
	   else return false;
	}
	
	function validate(theForm) {
	   var valid = true;
	   if ( !validatef_name(theForm.f_name.value) )valid = false;
	   if ( !validatesurname(theForm.surname.value) )valid = false;
	   if ( !validatedob(theForm.dob.value) )valid = false;
	   if ( !validateadd1(theForm.add1.value) )valid = false;
	   if ( !validateadd2(theForm.add2.value) )valid = false;
	   if ( !validateadd3(theForm.add3.value) )valid = false;
	   if ( !validatetele(theForm.tele.value) )valid = false;
	   //if ( !validatetele(theForm.mobil.value) )valid = false;
	   if ( !validateemail(theForm.email.value) )valid = false;
	   if ( !validateusername(theForm.username.value) )valid = false;
	   if ( !validatepassword(theForm.password.value) )valid = false;
	   if ( !validaterepass(theForm.repass.value) )valid = false;
	   if ( !passwordmatch(theForm.repass.value,theForm.password.value) )valid = false;
	   if ( valid ) return true;
	   else return false;
	}
	
	function feedback(item,mess,count) {
	   // set the message text
	   document.getElementById(item).innerHTML = mess;
	
	   // set it's colour
	   if ( count%2 == 1 ) {
		  document.getElementById(item).style.color = 'black';
	   } else {
		  document.getElementById(item).style.color = 'Red';
	   }
	
	   // set a timer to call this function again in 300ms
	   count--;
	   var f = 'feedback(\'' + item + '\',\'' + mess + '\',' + count + ')';
	   if ( count > 0 ) setTimeout(f,300);
	}
	/*
	function validate(theForm) {
	if (theForm.repass.value != theForm.password.value) {
	   alert("Password and Password Confirmation Did Not Match");
	   return false; }
	return true;
	}
	*/

