function validatetab(tabid) {

 var tab = document.getElementById(tabid);

 switch (tabid) {

  case 'tab0':

   var fields = new Array();
   fields.push('billingName');
   fields.push('billingAddressLine1');
   fields.push('billingTown');
   fields.push('billingCounty');
   fields.push('billingCode');
   fields.push('billingCountry');
   fields.push('phone');
   fields.push('email');

   if (validate(fields) == 'passed') {
    if (document.getElementById('shippingOption1').checked) setShippingToBillingAddress();
    setConfirmBilling();
    tabs.expandit(1);
   }
   break;

  case 'tab1':
   var fields = new Array();
   fields.push('shippingName');
   fields.push('shippingAddressLine1');
   fields.push('shippingTown');
   fields.push('shippingCounty');
   fields.push('shippingCode');
   fields.push('shippingCountry');

   if (document.getElementById('shippingOption2').checked) {
    if (validate(fields) == 'passed') {
     setConfirmShipping();
     tabs.expandit(2);
    }
   } else {
    resetShipping();
    setShippingToBillingAddress();
    setConfirmShipping();
    tabs.expandit(2);
   }
   break;

  case 'tab2':
   var fields = new Array();
   fields.push('ccName');
   fields.push('ccNumber');
   fields.push('ccExpire');
   fields.push('ccType');
   fields.push('ccSecurityCode');

   if (document.getElementById('paymentOption1').checked) {
    var state = 'passed';

    state = validate(fields);

    if (document.getElementById('ccType').value == 'Switch' 
    || document.getElementById('ccType').value == 'Delta'
    || document.getElementById('ccType').value == 'Maestro'
    || document.getElementById('ccType').value == 'Solo'
    || document.getElementById('ccType').value == 'JCB'
    ) {
      fields = new Array();
      fields.push('ccStart');
      var stateStart = validate(fields);

      fields = new Array();
      fields.push('ccIssue');
      var stateIssue = validate(fields);

      if ((stateStart == 'passed') || (stateIssue == 'passed')) {
        document.getElementById('ccStartPrompt').style.display = 'none';
        document.getElementById('ccIssuePrompt').style.display = 'none';
      } else {
        state = 'failed';
      }
    }
    if (state == 'passed') {
     setConfirmCC();
     tabs.expandit(3);
    }
   } else {
    resetCC();
    setConfirmCC();
    tabs.expandit(3);
   }
   break;

  default:
 }
}

function validate(fields) {
 var state = 'passed';

 for (var i = 0; i < fields.length; i++) {
  var str = document.getElementById(fields[i]).value;
  var prompt = document.getElementById(fields[i] + 'Prompt');
  var re = /.+/;
  if (!str.match(re)) {
   prompt.style.display = 'block';
   state = 'failed';
  } else {
   prompt.style.display = 'none';
  }
 }
 return state;
}

function resetShipping() {
 var fields = new Array();
 fields.push('shippingName');
 fields.push('shippingAddressLine1');
 fields.push('shippingAddressLine2');
 fields.push('shippingTown');
 fields.push('shippingCounty');
 fields.push('shippingCode');
 fields.push('shippingCountry');

 for (var i = 0; i < fields.length; i++) {
  document.getElementById(fields[i]).value = '';
  document.getElementById(fields[i] + 'Prompt').style.display = 'none';
 }
}

function resetCC() {
 var fields = new Array();
 fields.push('ccName');
 fields.push('ccNumber');
 fields.push('ccStart');
 fields.push('ccExpire');
 fields.push('ccType');
 fields.push('ccSecurityCode');
 fields.push('ccIssue');

 for (var i = 0; i < fields.length; i++) {
  document.getElementById(fields[i]).value = '';
  document.getElementById(fields[i] + 'Prompt').style.display = 'none';
 }
}

function setShippingToBillingAddress() {
 document.getElementById('shippingName').value = document.getElementById('billingName').value;
 document.getElementById('shippingAddressLine1').value = document.getElementById('billingAddressLine1').value;
 document.getElementById('shippingAddressLine2').value = document.getElementById('billingAddressLine2').value;
 document.getElementById('shippingTown').value = document.getElementById('billingTown').value;
 document.getElementById('shippingCounty').value = document.getElementById('billingCounty').value;
 document.getElementById('shippingCode').value = document.getElementById('billingCode').value;
 document.getElementById('shippingCountry').value = document.getElementById('billingCountry').value;
}

function setConfirmBilling() {
 document.getElementById('billingNameConfirm').innerHTML = '<br>' + document.getElementById('billingName').value;
 document.getElementById('billingAddressLine1Confirm').innerHTML = '<br>' + document.getElementById('billingAddressLine1').value;
 if (document.getElementById('billingAddressLine2').value != '') {
  document.getElementById('billingAddressLine2Confirm').innerHTML = '<br>' + document.getElementById('billingAddressLine2').value;
  document.getElementById('billingAddressLine2Confirm').style.display = "block";
 } else {
  document.getElementById('billingAddressLine2Confirm').innerHTML = "";
  document.getElementById('billingAddressLine2Confirm').style.display = "none";
 }
 document.getElementById('billingTownConfirm').innerHTML = '<br>' + document.getElementById('billingTown').value;
 if (document.getElementById('billingCounty').value != '') {
  document.getElementById('billingCountyConfirm').innerHTML = '<br>' + document.getElementById('billingCounty').value;
  document.getElementById('billingCountyConfirm').style.display = "block";
 } else {
  document.getElementById('billingCountyConfirm').innerHTML = "";
  document.getElementById('billingCountyConfirm').style.display = "none";
 }
 document.getElementById('billingCodeConfirm').innerHTML = '<br>' + document.getElementById('billingCode').value;
 document.getElementById('billingCountryConfirm').innerHTML = '<br>' + document.getElementById('billingCountry').value;
 document.getElementById('phoneConfirm').innerHTML = '<br>' + document.getElementById('phonePrefix').innerHTML + document.getElementById('phone').value;
 document.getElementById('mobileConfirm').innerHTML = '<br>' + document.getElementById('mobilePrefix').innerHTML + document.getElementById('mobile').value;
 document.getElementById('emailConfirm').innerHTML = '<br>' + document.getElementById('emailPrefix').innerHTML + document.getElementById('email').value;
 if (document.getElementById('mailingList').checked) {
  document.getElementById('mailingListConfirmYes').style.display = "block";
  document.getElementById('mailingListConfirmNo').style.display = "none";
 } else {
  document.getElementById('mailingListConfirmYes').style.display = "none";
  document.getElementById('mailingListConfirmNo').style.display = "block";
 }
 if (document.getElementById('foundBy').value != '') {
  document.getElementById('foundByConfirm').innerHTML = '<br>' + document.getElementById('foundByPrefix').innerHTML + document.getElementById('foundBy').value.toLowerCase() + ".";
  document.getElementById('foundByConfirm').style.display = "block";
 } else {
  document.getElementById('foundByConfirm').innerHTML = "";
  document.getElementById('foundByConfirm').style.display = "none";
 }
 if (document.getElementById('info').value != '') {
  document.getElementById('infoConfirm').innerHTML = '<br>' + document.getElementById('infoPrefix').innerHTML + document.getElementById('info').value;
  document.getElementById('infoConfirm').style.display = "block";
 } else {
  document.getElementById('infoConfirm').innerHTML = "";
  document.getElementById('infoConfirm').style.display = "none";
 }
}

function setConfirmShipping() {
 if (document.getElementById('shippingOption1').checked) {
  document.getElementById('shippingNameConfirm').innerHTML = "";
  document.getElementById('shippingAddressLine1Confirm').innerHTML = "";
  document.getElementById('shippingAddressLine2Confirm').innerHTML = "";
  document.getElementById('shippingTownConfirm').innerHTML = "";
  document.getElementById('shippingCountyConfirm').innerHTML = "";
  document.getElementById('shippingCodeConfirm').innerHTML = "";
  document.getElementById('shippingCountryConfirm').innerHTML = "";

  document.getElementById('shippingOptionConfirmMain').style.display = "block";
  document.getElementById('shippingOptionConfirmAlternative').style.display = "none";
  document.getElementById('shippingNameConfirm').style.display = "none";
  document.getElementById('shippingAddressLine1Confirm').style.display = "none";
  document.getElementById('shippingAddressLine2Confirm').style.display = "none";
  document.getElementById('shippingTownConfirm').style.display = "none";
  document.getElementById('shippingCountyConfirm').style.display = "none";
  document.getElementById('shippingCodeConfirm').style.display = "none";
  document.getElementById('shippingCountryConfirm').style.display = "none";
 } else {
  document.getElementById('shippingNameConfirm').innerHTML = '<br>' + document.getElementById('shippingName').value;
  document.getElementById('shippingAddressLine1Confirm').innerHTML = '<br>' + document.getElementById('shippingAddressLine1').value;
  if (document.getElementById('shippingAddressLine2').value != '') {
   document.getElementById('shippingAddressLine2Confirm').innerHTML = '<br>' + document.getElementById('shippingAddressLine2').value;
   document.getElementById('shippingAddressLine2Confirm').style.display = "block";
  } else {
   document.getElementById('shippingAddressLine2Confirm').innerHTML = "";
   document.getElementById('shippingAddressLine2Confirm').style.display = "none";
  }
  document.getElementById('shippingTownConfirm').innerHTML = '<br>' + document.getElementById('shippingTown').value;
  if (document.getElementById('shippingCounty').value != '') {
   document.getElementById('shippingCountyConfirm').innerHTML = '<br>' + document.getElementById('shippingCounty').value;
   document.getElementById('shippingCountyConfirm').style.display = "block";
  } else {
   document.getElementById('shippingCountyConfirm').innerHTML = "";
   document.getElementById('shippingCountyConfirm').style.display = "none";
  }
  document.getElementById('shippingCodeConfirm').innerHTML = '<br>' + document.getElementById('shippingCode').value;
  document.getElementById('shippingCountryConfirm').innerHTML = '<br>' + document.getElementById('shippingCountry').value;

  document.getElementById('shippingOptionConfirmMain').style.display = "none";
  document.getElementById('shippingOptionConfirmAlternative').style.display = "block";
  document.getElementById('shippingNameConfirm').style.display = "block";
  document.getElementById('shippingAddressLine1Confirm').style.display = "block";
  document.getElementById('shippingTownConfirm').style.display = "block";
  document.getElementById('shippingCodeConfirm').style.display = "block";
  document.getElementById('shippingCountryConfirm').style.display = "block";
 }
}

function setConfirmCC() {
 if (document.getElementById('paymentOption1').checked) {
  document.getElementById('ccNameConfirm').innerHTML = '<br>' + document.getElementById('ccNamePrefix').innerHTML + document.getElementById('ccName').value;
  document.getElementById('ccNumberConfirm').innerHTML = '<br>' + document.getElementById('ccNumberPrefix').innerHTML + document.getElementById('ccNumber').value;
  document.getElementById('ccExpireConfirm').innerHTML = '<br>' + document.getElementById('ccExpirePrefix').innerHTML + document.getElementById('ccExpire').value;
  document.getElementById('ccTypeConfirm').innerHTML = '<br>' + document.getElementById('ccTypePrefix').innerHTML + document.getElementById('ccType').value;
  document.getElementById('ccSecurityCodeConfirm').innerHTML = '<br>' + document.getElementById('ccSecurityCodePrefix').innerHTML + document.getElementById('ccSecurityCode').value;
  if (document.getElementById('ccType').value == 'Switch' 
  || document.getElementById('ccType').value == 'Delta'
  || document.getElementById('ccType').value == 'Maestro'
  || document.getElementById('ccType').value == 'Solo'
  || document.getElementById('ccType').value == 'JCB'
  ) {
   document.getElementById('ccStartConfirm').innerHTML = '<br>' + document.getElementById('ccStartPrefix').innerHTML + document.getElementById('ccStart').value;
   document.getElementById('ccStartConfirm').style.display = "block";
   document.getElementById('ccIssueConfirm').innerHTML = '<br>' + document.getElementById('ccIssuePrefix').innerHTML + document.getElementById('ccIssue').value;
   document.getElementById('ccIssueConfirm').style.display = "block";
  } else {
   document.getElementById('ccStartConfirm').innerHTML = "";
   document.getElementById('ccStartConfirm').style.display = "none";
   document.getElementById('ccIssueConfirm').innerHTML = "";
   document.getElementById('ccIssueConfirm').style.display = "none";
  }

  document.getElementById('paymentOptionConfirmCard').style.display = "block";
/*
  document.getElementById('paymentOptionConfirmEmail').style.display = "none";
  document.getElementById('paymentOptionConfirmPhone').style.display = "none";
*/
  document.getElementById('paymentOptionConfirmContact').style.display = "none";
  document.getElementById('ccNameConfirm').style.display = "block";
  document.getElementById('ccNumberConfirm').style.display = "block";
  document.getElementById('ccExpireConfirm').style.display = "block";
  document.getElementById('ccTypeConfirm').style.display = "block";
  document.getElementById('ccSecurityCodeConfirm').style.display = "block";

 } else {
/*
  if (document.getElementById('paymentOption2').checked) {
   document.getElementById('paymentOptionConfirmEmail').style.display = "block";
   document.getElementById('paymentOptionConfirmPhone').style.display = "none";
   document.getElementById('paymentOptionConfirm').style.display = "none";
  }
  if (document.getElementById('paymentOption3').checked) {
   document.getElementById('paymentOptionConfirmEmail').style.display = "none";
   document.getElementById('paymentOptionConfirmPhone').style.display = "block";
   document.getElementById('paymentOptionConfirm').style.display = "none";
  }
*/
  if (document.getElementById('paymentOption4').checked) {
/*
   document.getElementById('paymentOptionConfirmEmail').style.display = "none";
   document.getElementById('paymentOptionConfirmPhone').style.display = "none";
*/
   document.getElementById('paymentOptionConfirmContact').style.display = "block";
  }
  document.getElementById('ccNameConfirm').innerHTML = "";
  document.getElementById('ccNumberConfirm').innerHTML = "";
  document.getElementById('ccStartConfirm').innerHTML = "";
  document.getElementById('ccExpireConfirm').innerHTML = "";
  document.getElementById('ccTypeConfirm').innerHTML = "";
  document.getElementById('ccSecurityCodeConfirm').innerHTML = "";
  document.getElementById('ccIssueConfirm').innerHTML = "";

  document.getElementById('paymentOptionConfirmCard').style.display = "none";
  document.getElementById('ccNameConfirm').style.display = "none";
  document.getElementById('ccNumberConfirm').style.display = "none";
  document.getElementById('ccStartConfirm').style.display = "none";
  document.getElementById('ccExpireConfirm').style.display = "none";
  document.getElementById('ccTypeConfirm').style.display = "none";
  document.getElementById('ccSecurityCodeConfirm').style.display = "none";
  document.getElementById('ccIssueConfirm').style.display = "none";
 }
}