function DiffYC(S1, S2) { // FS, using Date Objects
  var D1 = ReadISO8601date(S1) ; if (D1<0) return "Date 1 bad"
  var D2 = ReadISO8601date(S2) ; if (D2<0) return "Date 2 bad"
  D1 = new Date(D1[0], D1[1], D1[2])
  D2 = new Date(D2[0], D2[1], D2[2])
  var age = D1.getFullYear() - D2.getFullYear()
  D2.setFullYear(D1.getFullYear())
  if (D2>D1) age--
  return age }

function validateform()
{

        var now = new Date();
        var today = new Date(now.getYear(),now.getMonth(),now.getDate());

        var yearNow = now.getYear();
        var monthNow = now.getMonth();
        var dateNow = now.getDate();

        var yearDob = document.membership.dobyear.value;
        var monthDob = document.membership.dobmonth.value;
        var dateDob = document.membership.dobday.value;

	  var dob = new Date(yearDOB, monthDOB, dateDOB);

        yearAge = yearNow - yearDob;

        if (monthNow>=monthDob)
                var monthAge = monthNow-monthDob;
        else {
                yearAge--;
                var monthAge = 12+monthNow-monthDob;
        }

        if (dateNow >= dateDob)
                var dateAge = dateNow-dateDob;
        else {
                monthAge--;
                var dateAge = 31+dateNow-dateDob;
        }

        if (monthAge < 0) {
                monthAge = 11;
                yearAge--;
        }

    if (document.membership.title.value=="") {
    	alert('Please Enter your Title.   ');
        return false;
    }


	if(document.membership.fname.value=="")
	{
		alert("Please enter your first name.    ");
		return false;
	}

	if(document.membership.lname.value=="")
	{
		alert("Please enter your surname.    ");
		return false;
	}

	if(document.membership.address1.value=="")
	{
		alert("Please enter your house name or number and street.    ");
		return false;
	}

	if(document.membership.city.value=="")
	{
		alert("Please enter a town or city.    ");
		return false;
	}
   
	if (document.membership.nearestcity.value =="")
    {
    	alert('Please enter the nearest city to your address.   ');
        return false;
    }


    if(document.membership.postcode.value=="")
	{
	    alert("Please enter your postcode.    ");
		return false;
	}
	if(document.membership.email.value=="")
	{
		alert("Please enter a valid email address    ");
		return false;
	}
        if(!document.membership.sex[0].checked&&!document.membership.sex[1].checked){
		alert("Please indicate your gender.    ");
		return false;
    }

	if(document.membership.dobday.value==""||document.membership.dobmonth.value==""||document.membership.dobyear.value.length<4)
	{
		alert("Please enter your full date of birth.    ");
		return false;
	}
    
    if (DiffYC(now, dob)<16) {
    	alert('You must be at least 16yrs old to become a member.   ');
        return false;
    }
    
	if(document.membership.nationality.value=="")
	{
		alert("Please select your nationality    ");
		return false;
	}
	if(document.membership.birthcountry.value=="")
	{
		alert("Please select your country of birth    ");
		return false;
	}

	if(document.membership.principles.checked==false)
	{
		alert("Please confirm you acceptance of the partys principles and constitution.    ");
		return false;
	}
	
    return true;
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}


function MM_findObj(n, d) { //v3.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}