// Helpers.FormControls.getSelect
(function(exports, $) {
  var Module = exports.Helpers.FormControls || {};

  function getSelect(options) {
    var _options = options || '';
    return ['<select name="" id="">', _options, '</select>'].join('');
  }

  Module.select = {
    getSelect: getSelect
  };

  exports.Helpers.FormControls = Module;
}(moj, jQuery));

// Helpers.FormControls.getInput
(function(exports, $) {
  var Module = exports.Helpers.FormControls || {};

  function getInput(config) {
    var _config = $.extend({}, {
      type: 'text',
      classes: '',
      id: '',
      value: '',
      name: ''
    }, config);
    return ['<input class="form-control ' + _config.classes + '" type="' + _config.type + '" name="' + _config.name + '" id="' + _config.id + '" value="' + _config.value + '" />'].join('');
  }

  Module.input = {
    getInput: getInput
  };

  exports.Helpers.FormControls = Module;
}(moj, jQuery));

// Helpers.FormControls.getOptions
(function(exports, $) {
  var Module = exports.Helpers.FormControls || {};

  function getOptions(collection, selected) {
    var def = $.Deferred();
    var optionsArray = [];
    var collectioSize;
    var option;
    selected = selected || {
      value: 'miss-match'
    };
    if (!collection) {
      throw Error('Missing param: collection');
    }

    optionsArray.push(new Option('Please select', '').outerHTML);
    collectionSize = collection.length;

    collection.forEach(function(obj, idx) {
      option = new Option(obj.name, obj.id, (obj[selected.prop] === selected.value));
      option.dataset.postcode = obj.postcode;
      optionsArray.push(option.outerHTML);

      if (collectionSize - 1 === idx) {
        def.resolve(optionsArray);
      }
    });
    return def.promise();
  }

  Module.selectOptions = {
    getOptions: getOptions
  };

  exports.Helpers.FormControls = Module;
}(moj, jQuery));

(function(exports, $) {
  var Module = exports.Helpers.FormControls || {};

  Module = {
    select: Module.select,
    selectOptions: Module.selectOptions,
    input: Module.input,
    getInput: Module.input.getInput,
    getSelect: Module.select.getSelect,
    getOptions: Module.selectOptions.getOptions,

  };

  exports.Helpers.FormControls = Module;
}(moj, jQuery));

@@ -1163,14 +1163,15 @@
 ctio
+n
 Size;%0A
-
     
@@ -1890,16 +1890,516 @@
 ery));%0A%0A
+// Helpers.FormControls.getGovUkDate%0A(function(exports, $) %7B%0A  var Module = exports.Helpers.FormControls %7C%7C %7B%7D;%0A%0A  function getGovUkDate(context) %7B%0A    var dateArray = %5B%5D;%0A    $(context).first('.gov_uk_date:visible').find('input%5Btype=number%5D').is(function (index, element) %7B%0A      dateArray.push($(element).val());%0A    %7D);%0A%0A    return new Date(dateArray.reverse().join('-'));%0A  %7D%0A%0A  Module.govUkDate = %7B%0A    getGovUkDate: getGovUkDate%0A  %7D;%0A%0A  exports.Helpers.FormControls = Module;%0A%7D(moj, jQuery));%0A%0A
 (functio
@@ -2698,16 +2698,63 @@
 ptions,%0A
+    getGovUkDate: Module.govUkDate.getGovUkDate
 %0A  %7D;%0A%0A 

Add getGovUkDate helper