
function clearForms()
/*
Thanks to http://www.boutell.com/newfaq/creating/clearform.html
*/
{
  var i;
  for (i = 0; (i < document.forms.length); i++) {
    document.forms[i].reset();
  }
}

function checkForm()
{
   var cfname, cemail, ctitle, csname, cage, caddr1, caddr2, ctown, cpcode, cmob, ccountry, cnewsletter;
   var cstate, cotherinfo, cterms, cmembership;
   with(document.memberform)
   {
      ctitle =title;
	  cfname = fname;
	  csname    = sname;
	  cage = age;    //Not required
	  caddr1 = addr1;
	  caddr2 = addr2;  //Not required - Short forms
	  ctown = town;
	  cpcode = pcode;
	  cstate = state;
	  ccountry = country;  //Not required
	  cmob = mob;    //Not required
	  cemail   = email;
	  cnewsletter = newsletter; //Not required
	  cotherinfo = otherinfo;  //Not required
	  cterms = terms;
	  cmembership = membership;
    }

   if(trim(ctitle.value) == '' || trim(ctitle.value).length < 2)
   {
      alert('Please enter a title');
      ctitle.focus();
      return false;
   }
    else if(trim(cfname.value).length < 2)
   {
      alert('Please enter forename(s)');
      cfname.focus();
      return false;
   }
    else if(trim(csname.value).length < 2)
   {
      alert('Please enter your surname');
      csname.focus();
      return false;
   }
   else if(!isage(trim(cage.value)))
   {
   //   alert('Please Enter a valid age: ' + cage.value);
      cage.focus();
	  return false;
   }
   else if(trim(caddr1.value).length < 5)
   {
      alert('Please enter the address');
      caddr1.focus();
      return false;
   }
   else if(trim(ctown.value).length < 2)
   {
      alert('Please enter the town / city');
      ctown.focus();
      return false;
   }
   else if(trim(cstate.value).length < 2 )
   {
      alert('Please enter the county / state');
      cstate.focus();
      return false;
   }
   
  
   else if(trim(cpcode.value) == '')
   {
      alert('Please enter the Postcode / Zip');
      cpcode.focus();
      return false;
   }
   else if(!ismobile(trim(cmob.value)))
    {
      alert('Enter a valid Mobile number');
      cmob.focus();
	  return false;
    }
    else if(trim(cemail.value) == '')
   {
      alert('Please enter your email');
      cemail.focus();
      return false;
   }
   else if(!isEmail(trim(cemail.value)))
   {
      alert('Email address is not valid');
      cemail.focus();
      return false;
   }
   else if(!cterms.checked)
   {
      alert('Please Agree the terms.');
      cterms.focus(); 
      return false;
   }
  
   else
   { //All is good carry on
      ctitle =  trim(ctitle.value);
	  cfname  = trim(cfname.value);
	  csname  = trim(csname.value);
	//  cage  = trim(cage.value);
	  caddr1  = trim(caddr1.value);
	  caddr2  = trim(caddr2.value);
	  ctown  = trim(ctown.value);
	  cstate  = trim(cstate.value);
	  cpcode  = trim(cpcode.value);
	  ccountry  = trim(ccountry.value);
	//  cmob  = trim(cmob.value);
	  cemail  = trim(cemail.value);
	  cnewsletter  = trim(cnewsletter.value);
	  cotherinfo  = trim(cotherinfo.value);
	  cterms = trim(cterms.value);
	//  cage = trim(cage.value);
	  var col = (cmembership.options[cmembership.selectedIndex].value);
	
     return true;
   }
}


function trim(str) {
	var	str = str.replace(/^\s\s*/, ''),
		ws = /\s/,
		i = str.length;
	while (ws.test(str.charAt(--i)));
	return str.slice(0, i + 1);

}


 function  ismobile(str){  //Mobile length 7 or more digits
 var regex = str;
	if(regex.length == 0){
	return true;
	}  
 else{
  var phonenumber = /\d{7,}/;
	  return phonenumber.test(str);
 }
 }

function  isage(str){  //Age length 1 to 2 digits
  var regex = str;
	if(regex.length == 0){
	return true;
	}  
  
      regex = regex.replace(/[^0-9]/g,"");  // strip non-digits
   if (!regex) {
   		alert("Please enter a valid age");
	   return false;
	}
	if (regex < 16) {
		alert ("You are too young - the minimum age is 16");
		return false;
	}
	else {
		
		return true;
	}

// return regex.test(str);
}

function isEmail(str)
{
   var regex = /^[-_.a-z0-9]+@(([-_a-z0-9]+\.)+(ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|arpa|as|at |au|aw|az|ba|bb|bd|be|bf|bg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cs|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|edu| ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie  |il|in|info|int|io|iq|ir|is|it|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt |lu|lv|ly|ma|mc|md|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|museum|mv|mw|mx|my|mz|na|name|nc|ne| net|nf|ng|ni|nl|no|np|nr|nt|nu|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|pro|ps|pt|pw|py|qa|re|ro|ru |rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw |tz|ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw)|(([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\.){3}([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5]))$/i;

	return regex.test(str);
}


function checkDonateForm(){
//Check that a valid number is in other amount and that terms ticked
	var cterms = document.donateform.donateterms;
	if(!cterms.checked)
	   {
		  alert('Please Agree the terms.');
		  cterms.focus(); 
		  return false;
		}
	else
	   { 
			//Good enough to pass
				return true;
	    }
}



