private static function getDeliveryDates()
 {
     if (!empty(self::$_deliveryOptions)) {
         return;
     }
     self::$_deliveryOptions = array();
     self::$_deliveryDates = 0;
     self::$_fieldRequired = 0;
     if (self::$_params->get('shownodate')) {
         $fieldsClass = hikashop_get('class.field');
         $itemFields = $fieldsClass->getFields('', $element, 'item');
         foreach ($itemFields as $itemField) {
             self::$_fieldRequired += $itemField->field_required;
         }
         if (self::$_fieldRequired) {
             self::$_deliveryOptions[''] = self::$_params->get('selectdate');
         } else {
             self::$_deliveryOptions[''] = null;
         }
     }
     $maxdaysinadvance = self::$_params->get('maxdaysinadvance');
     if (empty($maxdaysinadvance)) {
         return;
     }
     $now = time();
     $nowHours = (int) date('H', $now);
     $nowMins = (int) date('i', $now);
     $minadvancedays = self::$_params->get('minadvancedays');
     $maxdaysinadvance -= $minadvancedays;
     // Check if we can order on current day
     $day = 0;
     if (self::checkDeliveryDate($now, $day)) {
         // If too late to order today skip to next available date
         $lastestordertime = self::$_params->get('lastestordertime');
         if (!empty($lastestordertime)) {
             $latestorder = explode(':', $lastestordertime);
             if (count($latestorder) != 2 || !preg_match('/^[0-9]+:[0-9]+$/', $lastestordertime)) {
                 JError::raiseWarning(4720, 'Error (Last Order Time): Please contact System Administrator');
                 return false;
             }
             if ((int) $latestorder[0] <= $nowHours || (int) $latestorder[0] == $nowHours && (int) $latestorder[1] <= $nowMins) {
                 $day += 1;
                 $maxdaysinadvance -= 1;
             }
         }
     }
     // Check if we can order on current day, if not find the next day when we can order
     while (!self::checkDeliveryDate($now, $day)) {
         $day += 1;
         $maxdaysinadvance -= 1;
         $checkOrderTime = false;
     }
     $day += $minadvancedays + 1;
     while ($maxdaysinadvance > 0) {
         self::addDeliveryDate($now, $day);
         $maxdaysinadvance -= 1;
         $day += 1;
     }
 }