/**
  *
  * @return Form
  */
 function getModifierForm(Controller $optionalController = null, Validator $optionalValidator = null)
 {
     Requirements::themedCSS("PickUpOrDeliveryModifier", "ecommerce_delivery");
     Requirements::javascript(THIRDPARTY_DIR . "/jquery/jquery.js");
     //Requirements::block(THIRDPARTY_DIR."/jquery/jquery.js");
     //Requirements::javascript(Director::protocol()."ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js");
     Requirements::javascript(THIRDPARTY_DIR . "/jquery-form/jquery.form.js");
     Requirements::javascript("ecommerce_delivery/javascript/PickUpOrDeliveryModifier.js");
     $array = PickUpOrDeliveryModifierOptions::get_all_as_country_array();
     if ($array && is_array($array) && count($array)) {
         $js = '';
         $count = 0;
         foreach ($array as $key => $option) {
             if ($option && is_array($option) && count($option)) {
                 if ($count == 0) {
                     $js .= 'PickUpOrDeliveryModifier' . "\n" . '.addItem("' . $key . '",new Array("' . implode('","', $option) . '"))';
                 } else {
                     $js .= "\n" . '.addItem("' . $key . '",new Array("' . implode('","', $option) . '"))';
                 }
                 $count++;
             }
         }
         if ($js) {
             //add final semi-comma
             $js .= ";";
             Requirements::customScript($js, "PickupOrDeliveryModifier");
         }
     }
     $fields = new FieldList();
     $fields->push($this->headingField());
     $fields->push($this->descriptionField());
     $options = $this->liveOptions()->map('ID', 'Name');
     //$this->getOptionListForDropDown();
     $optionID = $this->LiveOptionID();
     $fields->push(new DropdownField('PickupOrDeliveryType', 'Preference', $options, $optionID));
     $actions = new FieldList(new FormAction('processOrderModifier', 'Update Pickup / Delivery Option'));
     return new PickUpOrDeliveryModifier_Form($optionalController, 'PickUpOrDeliveryModifier', $fields, $actions, $optionalValidator);
 }