function setArrays(form) {
  alwaysShowMsgs = false;

  fields = new Array();

  fields[0]      = new FormField();
  fields[0].elmt = form.type;
  fields[0].name = "Portrait Type";
  fields[0].func = checkType;
  fields[0].mesg = "Please specify the Portrait Type for 'Other'.";

  fields[1]      = new FormField();
  fields[1].elmt = form.size;
  fields[1].name = "Portrait Size";
  fields[1].func = checkSize;
  fields[1].mesg = "Please specify the Portrait Size for 'Other'.";

  fields[2]      = new FormField();
  fields[2].elmt = form.pets;
  fields[2].name = "Type(s) of Pet(s)";
  fields[2].func = checkPets;
  fields[2].mesg = "Please specify the Type of Pet for 'Other'.";

  fields[3]      = new FormField();
  fields[3].elmt = form.breeds;
  fields[3].name = "What breed(s)?";
  fields[3].func = null;
  fields[3].mesg = null;

  fields[4]      = new FormField();
  fields[4].elmt = form.medium;
  fields[4].name = "Portrait Medium";
  fields[4].func = null;
  fields[4].mesg = null;

  fields[5]      = new FormField();
  fields[5].elmt = form.bg;
  fields[5].name = "Background";
  fields[5].func = null;
  fields[5].mesg = null;

  fields[6]      = new FormField();
  fields[6].elmt = form.yName;
  fields[6].name = "Your Name";
  fields[6].func = null;
  fields[6].mesg = null;

  fields[7]      = new FormField();
  fields[7].elmt = form.email;
  fields[7].name = "Your E-mail";
  fields[7].func = isEmail;
  fields[7].mesg = "Please provide a valid email address.";

  fields[8]      = new FormField();
  fields[8].elmt = form.location;
  fields[8].name = "Delivery Location";
  fields[8].func = null;
  fields[8].mesg = null;

  fields[9]      = new FormField();
  fields[9].elmt = form.isfor;
  fields[9].name = "This Portrait is...";
  fields[9].func = null;
  fields[9].mesg = null;

  fields[10]      = new FormField();
  fields[10].elmt = form.date;
  fields[10].name = "Date receipt is required by";
  fields[10].func = checkDate;
  fields[10].mesg = "Please provide a date in the mm/dd/yyyy format.";
  fields[10].empty_ok = true;

  return true;
}

function checkType(type) {
  var t_o  = document.orderForm.type_other.value;
  var t_n  = document.orderForm.type_number.value;
  var size = getCheckedVal(document.orderForm.size);
  var rval = false;

  if (type == 'Other') {
    rval = !(isEmpty(t_o) || isWhitespace(t_o));
  } else if (type.indexOf('Multiple') != -1) {
    rval = !(isEmpty(t_n) || isWhitespace(t_n) || t_n == 1);
    fields[0].mesg =  'Please specify the number of pets in your multi-pet portrait.';
  } else {
    rval = true;
  }

  if (rval) {
    if (size == '8" x 10"' && (type.indexOf('Full Body') != -1
			    || type.indexOf('Multiple') != -1)) {
      fields[0].mesg = 'The 8" x 10" size is only big enough for a single pet, head only.';
      rval = false;
    }
  }

  return rval;
}

function checkSize(str) {
  var s_o  = document.orderForm.size_other.value;
  return !(str == 'Other' && (isEmpty(s_o) || isWhitespace(s_o)));
}

function checkPets(str) {
  var pets = document.orderForm.pets;
  var p_o  = document.orderForm.pets_other.value;
  var errStr = '';
  var other = !(str == 'Other' && (isEmpty(p_o) || isWhitespace(p_o)));
  var rval = false;

  for (var i = 0; i < pets.length; i++) {
    if (pets[i].checked) {
      var str = eval('document.orderForm.pets_' + pets[i].value + '_num.value');
      if (isEmpty(str) || isWhitespace(str)) errStr += pets[i].value+'s, ';
    }
  }

  if (other) {
    if (errStr != '') {
      errStr = errStr.substring(0, errStr.lastIndexOf(','));
      fields[2].mesg = 'Please specify the number of:' + errStr;
    } else {
      rval = true;
    }
  }

  return rval;
}

function checkDate(str) {
  var rval = true;
  if (!(isEmpty(str) || isWhitespace(str))) {
    var arr = str.split('/');
    rval = isDate(arr[2], arr[0], arr[1]);
  }
  return rval;
}

function getCheckedVal(elmt) {
  var rval = null;

  if (elmt.length > 0) {
    for (var i = 0; i < elmt.length; i++) {
      if (elmt[i].checked) {
	rval = elmt[i].value;
	break;
      }
    }
  } else {
    if (elmt.checked) rval = elmt.value;
  }

  return rval;
}

var petArr = new Array();
function setPetNumber(elmt) {
  var val = elmt.value;
  var txtbox = eval('document.orderForm.pets_' + val + '_num');
  var tval = txtbox.value;
  var tvalEmpty = (isEmpty(tval) || isWhitespace(tval) || tval == 0);

  if (elmt.checked) {
    if (!petArr[val]) petArr[val] = 1;
    if (tvalEmpty) txtbox.value = petArr[val];
  } else {
    if (!tvalEmpty) petArr[val] = tval;
    txtbox.value = '';
  }
}

function setCheck(txtbox) {
  var val = txtbox.name.substring(txtbox.name.indexOf('_')+1, txtbox.name.lastIndexOf('_'));
  var elmt = document.orderForm.pets;
  var checkElmt = null;

  for (var i = 0; i < elmt.length; i++) {
    if (elmt[i].value == val) {
      checkElmt = elmt[i];
      break;
    }
  }

  if (isEmpty(txtbox.value) || isWhitespace(txtbox.value) || txtbox.value == 0) {
    checkElmt.checked = false;
  } else {
    checkElmt.checked = true;
  }
}

function typeOther(elmt) {
  if (elmt.value == 'Other')
    eval('document.orderForm.'+elmt.name+'_other.focus()');
}

function setOther(txtbox) {
  var val = txtbox.name.substring(0, txtbox.name.indexOf('_'));
  var elmt = eval('document.orderForm.'+val);
  var checkElmt = null;

  for (var i = 0; i < elmt.length; i++) {
    if (elmt[i].value == 'Other') {
      checkElmt = elmt[i];
      break;
    }
  }

  if (isEmpty(txtbox.value) || isWhitespace(txtbox.value) || txtbox.value == 0) {
    elmt[0].checked = true;
  } else {
    checkElmt.checked = true;
  }
}

