function setupForm() {
  document.getElementById('article_count').onchange=change_acount;
  document.forms['booking_form'].onsubmit = validate;
  change_acount();
}

function checkFields(frm,fields) {
  err_msg = '';
  for(var fname in fields) {
    var el = frm[fname];
    if(fname == 'cc_number') {
      var code = el.value;
      code = code.replace(/[^0123456789]/,'',code);
      if(code.length <16) {
        err_msg += " - A valid credit card number\n";
      }
      continue;
    }
    if(el.type == 'text' && el.value == '') {
      err_msg += " - "+fields[fname]+"\n";
    }
    if(el.type == 'checkbox' && (!el.checked)) {
      err_msg += " - "+fields[fname]+"\n";
    }
    if(el.className == 'select') {
      if(el.options[el.selectedIndex].value == '') {
        err_msg += ' - '+fields[fname]+"\n";
      }
    }
  }
  return err_msg;
}


function validate() {
  var frm = document.forms['booking_form'];
  var err_msg = '';
  var fields = {
    'title':'Your title',
    'firstname':'First name',
    'surname':'Surname',
    'organisation':'Organisation',
    'position':'Position',
    'address':'Address',
    'postcode':'Postcode',
    'country':'Country',
    'email':'Email address',
    'tel':'Telephone number'
  };
  err_msg += checkFields(frm,fields);
  var fields = {
    'cc_name':'Name as it appears on your credit card',
    'cc_number':'Credit card number',
    'start_month':'Credit card start month',
    'start_year':'Credit card start year',
    'cc_secnum':'Credit card security code'
  };
  err_msg += checkFields(frm,fields);
  if(err_msg != '') {
    alert("Please complete the following fields:\n"+err_msg);
    return false;
  }
  return true;
}

function change_acount() {
  var dc = document.getElementById('article_count');
  var num = dc.options[dc.selectedIndex].value;
  if(num>1) {
    document.getElementById('article_2_block').className = '';
  } else {
    document.getElementById('article_2_block').className = 'hidden';
  }
   if(num>2) {
    document.getElementById('article_3_block').className = '';
  } else {
    document.getElementById('article_3_block').className = 'hidden';
  }
  calc_price();
}

function calc_price() {
  var ppa = 30.00;
  var dc =  document.getElementById('article_count');
  var num = dc.options[dc.selectedIndex].value;
  document.getElementById('total').value = num*ppa;
}


