var m_flds=new Array('first_name','last_name','address1','address2','city','postcode','phone_number','email_address','mobile','memb_num','cfirst_name','clast_name','address1','address2','city','postcode','notes','mtype');

//fields are posted to server by name but read by Mozilla by id. Mozilla can get some element types by name but not all...

//-----------------------------------------------------------------------------------------------
function m_clear()
{
saveCookie('mdetails',"");          //clear user/customer details
}
//-----------------------------------------------------------------------------------------------
function m_save()
{
 m_save_ex(m_flds,'mdetails');          //save member/user details
}
//-----------------------------------------------------------------------------------------------
function m_init()
{
m_read_ex(m_flds,'mdetails');        //just load fields from saved cookies


var all = document.getElementsByTagName('input');
var imax = all.length;
 for (var i = 0;i<imax;i++) {
  o = all[i];
  o.onfocus= function () {
    m_sethelp(this.name);
    }

  o.onmouseover=m_mousehelp;
  o.onmouseout=m_mouseout;
  }
m_calculateprice();

m_sethelp(m_mode);
}
//-----------------------------------------------------------------------------------------------
function m_typechange()
{
m_calculateprice();
}
//----------------------------------------------------------------
function m_cardisdriver()     //fill in cardname from drivername
{
igetElement('cfirst_name').value = igetElement('first_name').value;
igetElement('clast_name').value = igetElement('last_name').value;

igetElement('caddress1').value = igetElement('address1').value;
igetElement('caddress2').value = igetElement('address2').value;
igetElement('ccity').value = igetElement('city').value;
igetElement('cpostcode').value = igetElement('postcode').value;
igetElement('cemail_address').value = igetElement('email_address').value;
}
//-----------------------------------------------------------------------------------------------
function m_calculateprice()
{
var n;

var offer = m_getoffer();

if (offer) {
  price = offer[2];
  }
else {
  var o = igetElement('mtype');               //get class selector as it changes number of horses etc
  if (!o) return;                             //oops can't find it
  n = parseInt(o.value);                    //get subs type value - trusted to be an int as written by php
  price = m_costs[n];
  }

igetElement('cost').innerHTML = 'Total cost: £' + FormatMyNumber(price,2);
igetElement('amount').value = FormatMyNumber(price,2);
}
//-----------------------------------------------------------------------------------------------
function m_validate()
{
var msg='';
var n;
var o;
var i;
var s;

if ((igetElement('first_name').value.length < 1) || (igetElement('last_name').value.length < 3)) {
  msg += 'We need a valid name, please\n';
  }

if  (igetElement('address1').value.length + igetElement('address2').value.length < 8) {
  msg += 'We need a valid address, please\n';
  }

if  (igetElement('city').value.length < 3) {
  msg += 'We need a valid town, please\n';
  }

if  (igetElement('postcode').value.length < 6) {
  msg += 'We need a valid postcode, please\n';
  }

if ((igetElement('cfirst_name').value.length < 1) || (igetElement('clast_name').value.length < 3)) {
  msg += 'We need a valid cardholder name, please\n';
  }

if  (igetElement('caddress1').value.length + igetElement('caddress2').value.length < 8) {
  msg += 'We need a valid cardholder address, please\n';
  }

if  (igetElement('ccity').value.length < 3) {
  msg += 'We need a valid cardholder town, please\n';
  }

if  (igetElement('cpostcode').value.length < 6) {
  msg += 'We need a valid cardholder postcode, please\n';
  }

if (!mcheckphone(igetElement('phone_number').value)) {
  msg += 'We need a valid phone number in case we need to contact you about your order or payment\n';
  }

if (!checkemail(igetElement('email_address').value)){
  msg += 'We need a valid email address to acknowledge your order and payment.  We look after it and won\'t send spam!\n';
  }

if (!checkemail(igetElement('cemail_address').value)){
  msg += 'We need a valid cardholder email address to acknowledge your order and payment.  We look after it and won\'t send spam!\n';
  }


//if (!igetElement('iagree').checked) {
//  msg += 'We can only accept your entry if you agree to abide by the rules - please check the box\n';
//  }


//now enforce the capitalisation we think correct

CapitaliseNameField('first_name');
CapitaliseNameField('last_name');
CapitaliseNameField('address1');
CapitaliseNameField('address2');
CapitaliseNameField('city');
igetElement('postcode').value = Trim(igetElement('postcode').value).toUpperCase();

CapitaliseNameField('cfirst_name');
CapitaliseNameField('clast_name');
CapitaliseNameField('caddress1');
CapitaliseNameField('caddress2');
CapitaliseNameField('ccity');
igetElement('cpostcode').value = Trim(igetElement('cpostcode').value).toUpperCase();

if (msg.length>1) {
  alert(msg);
  return false;
  }

return true;
}
//------------------------------------------------------------------------------------------------------------------
function m_applyoffer()
{
var o = igetElement('subsdesc');

var offer = m_getoffer(true);

if (offer) {
  o.innerHTML = offer[1];
  m_setvisibility('mtype',false);
  }
else {
  o.innerHTML = 'Please choose your subscription type:';
  m_setvisibility('mtype',true);
  }

m_calculateprice();
}
//------------------------------------------------------------------------------------------------------------------
function m_getoffer(warn)
//return an offer array if found else null
{
var o = igetElement('offercode');

if (!o) return;

var s = o.value;

if (!s || s == '') {
  return;
  }

var su = s.toUpperCase();

for (var i = 0; i< m_offertypes.length;i++) {
  if (m_offertypes[i][0]==su) {
    return m_offertypes[i];
    }
  }
if (warn) {
  alert("Offer code '" + s + "' is not recognised.");
  }
}
//-----------------------------------------------------------------------------------------------

