
/*  JavaScript: BookingForm.js                        /
/   Validates the bookings and quotations form        /
/   By eKerner@eKerner.com for CapitalRemoval.com.au */

function isMT(formObj, fieldName){
  return formObj[fieldName].value.length == 0;
}

function validateContactDetails(formObj){
  var missingFields = '';
  var focusObj = null;
  if(isMT(formObj, 'Name')){
      missingFields += ' - Your Name\n';
      focusObj = formObj.Name;
  }
  if(isMT(formObj, 'Phone_1') && isMT(formObj, 'Phone_2') && isMT(formObj, 'Email_Address')){
    missingFields += ' - Phone or Email\n';
    if(focusObj == null) focusObj = formObj.Phone_1;
  }
  if(missingFields != ''){
    alert('Please provide: -\n\n' + missingFields + '\nThank you.');
    focusObj.focus();
    return false;
  }
  return true;
}

function validateWorkOrderDetails(formObj){
  if((formObj.Removal_Service.value == 'No' || formObj.Removal_Service.value == '')
  && formObj.PrePack_Service.value    != 'Yes'
  && formObj.UnPack_Service.value     != 'Yes'
  && formObj.Cleaning_Service.value   != 'Yes'
  && formObj.Storage_Service.value    != 'Yes'
  && formObj.Materials_Required.value != 'Yes')
  {
    alert('Please choose at least one service.\n\nThank you.');
    formObj.Removal_Service.focus();
    return false;
  }
  return true;
}

function validateAddressDetails(formObj, addyType){
  var missingFields = '';
  var focusObj = null;
  if(isMT(formObj, addyType + '_Address_Line_1') && isMT(formObj, addyType + '_Address_Line_2')){
    missingFields += ' - Street Address\n';
    focusObj = formObj[addyType + '_Address_Line_1'];
  }
  var rqdFields = new Array('Suburb', 'State', 'Postcode');
  for(var i = 0; i < rqdFields.length; i++){
    if(isMT(formObj, addyType + '_' + rqdFields[i])){
      missingFields += ' - ' + rqdFields[i].slice(0,1).toUpperCase() + rqdFields[i].slice(1) + '\n';
      if(focusObj == null) focusObj = formObj[addyType + '_' + rqdFields[i]];
    }
  }
  if(missingFields != ''){
    alert('Please provide: -\n\n' + missingFields + '\nThank you.');
    focusObj.focus();
    return false;
  }
  return true;
}

function showHideRemovalFields(formObj){
  var idFields   = new Array('travelDistance', 'heavyItems', 'handlingInsurance', 'cubicMetres', 'itemInventory', 'addDropOff');
  var displyAttr = (formObj.Removal_Service.value != 'No' && formObj.Removal_Service.value != '') ? '' : 'none';
  for(var i = 0; i < idFields.length; i++){
    document.getElementById(idFields[i]).style.display = displyAttr;
  }
  idFields   = new Array('contactDetailsHeader', 'workOrderHeader', 'pickupAddressHeader');
  var totalScreens = (displyAttr == '') ? '4' : '3';
  for(var i = 0; i < idFields.length; i++){
    document.getElementById(idFields[i]).innerHTML = 'Screen ' + (i + 1) + ' of ' + totalScreens;
  }
}
showHideRemovalFields(document.getElementById('bookingForm'));
document.getElementById('bookingForm').Contact_Reason.focus();
