function test() {

  var bad = new Array();

  var name =   document.givemoney.name.value;
  var number = document.givemoney.number.value;
  var date =   document.givemoney.date.value;
  var types =  document.givemoney.cardtype;

  nameTest =   /^\w+ \w+$/;   nameTest.compile;
  numberTest = /^\d+$/;       numberTest.compile;
  dateTest =   /^\d\d-\d\d$/; dateTest.compile;

  if ( !( nameTest.test( name ) ) ) {
    bad.push( name );
  }

  if ( !( numberTest.test( number ) && number.length == 16 ) ) {
    bad.push( number );
  }

  if ( !( dateTest.test( date ) ) || !( testMMYY( date ) ) ) {
    bad.push( date );
  }

  var isTypeChecked = false;
  for ( var i = 0; i < types.length; i++ ) {
    var type = types[i];
    if ( type.checked ) {
      isTypeChecked = true;
    }
  }

  if ( bad.length == 0 && isTypeChecked ) {
    return true;
  } else {
    for ( var j = 0; j < bad.length; j++ ) {
      alert( bad[j] + " is invalid" );
    }
    return false;
  }

} 

function testMMYY( date ) {
  
  var dateArray = date.split( "-" );
  var month = dateArray[0]; var year = dateArray[1];
  if ( !( month > 0 && month < 13 ) ) {
    return false;
  }
  if ( !( year > 2 && year < 10 ) ) {
    return false;
  }
  return true;

}
