function cardval(s) {
// remove non-numerics
var v = "0123456789";
var w = "";
for (i=0; i < s.length; i++) {
x = s.charAt(i);
if (v.indexOf(x,0) != -1)
w += x;
}
// validate number
j = w.length / 2;
if (j < 6.5 || j > 8 || j == 7) return false;
k = Math.floor(j);
m = Math.ceil(j) - k;
c = 0;
for (i=0; i<k; i++) {
a = w.charAt(i*2+m) * 2;
c += a > 9 ? Math.floor(a/10 + a%10) : a;
}
for (i=0; i<k+m; i++) c += w.charAt(i*2+1-m) * 1;
return (c%10 == 0);
}




function checkform ( form )
{
  // ** START **
  if (form.first_name.value == "") {
    alert( "Please enter your first name." );
    form.first_name.focus();
    return false ;
  }
  
  if (form.last_name.value == "") {
    alert( "Please enter your last name" );
    form.last_name.focus();
    return false ;
  }


  if (form.house_no.value == "") {
    alert( "Please enter your house number" );
    form.house_no.focus();
    return false ;
  }
  
  if (form.address1.value == "") {
    alert( "Please enter your address" );
    form.address1.focus();
    return false ;
  }
  
  if (form.town.value == "") {
    alert( "Please enter your town" );
    form.town.focus();
    return false ;
  }
  
  if (form.county.value == "") {
    alert( "Please enter your county" );
    form.county.focus();
    return false ;
  }
  
  if (form.postcode.value == "") {
    alert( "Please enter your postcode" );
    form.postcode.focus();
    return false ;
  }

  if (form.telephone_number.value == "") {
    alert( "Please enter your telephone number" );
    form.telephone_number.focus();
    return false ;
  }
  if (form.email_address.value == "") {
    alert( "Please enter your email address" );
    form.email_address.focus();
    return false ;
  }
  
  if (form.email_address.value.indexOf("@")<3) {
    alert( "Please ensure your email addresses have been input correctly e.g. mail@mail.com" );
    form.email_address.focus();
    return false ;
  }
  
  if (form.postcode.value == "") {
    alert( "Please enter your postcode" );
    form.postcode.focus();
    return false ;
  }
  // ** END **
  return true ;
}

function checkform2 ( form )
{
  // ** START **

if (!cardval(form.card_number.value)) {
	alert( "Please enter a valid credit card number" );
    form.card_number.focus();
    return false ;
}

  if (form.expire_date_day.value == "") {
    alert( "Please enter your expiry date" );
    form.expire_date_day.focus();
    return false ;
  }
  
  if (!form.expire_date_day.value.toString().match(/^[-]?\d*\.?\d*$/)) {
 	alert( "Please enter only numeric values for your expiry date number" );
    form.expire_date_day.focus();
 	return false;
	}

  if (form.expire_date_year.value == "") {
    alert( "Please enter your expiry date" );
    form.expire_date_year.focus();
    return false ;
  }
  
    if (!form.expire_date_year.value.toString().match(/^[-]?\d*\.?\d*$/)) {
 	alert( "Please enter only numeric values for your expiry date number" );
    form.expire_date_year.focus();
 	return false;
	}

  if (form.cv2.value == "") {
    alert( "Please enter your cv2 number" );
    form.cv2.focus();
    return false ;
  }
 if (!form.cv2.value.toString().match(/^[-]?\d*\.?\d*$/)) {
 	alert( "Please enter only numeric values for your CV2 number" );
    form.cv2.focus();
 	return false;
	}

  // ** END **
  return true ;
}


