<?php
/**
 * OpenMage
 *
 * This source file is subject to the Academic Free License (AFL 3.0)
 * that is bundled with this package in the file LICENSE_AFL.txt.
 * It is also available at https://opensource.org/license/afl-3-0-php
 *
 * @category    design
 * @package     default_default
 * @copyright   Copyright (c) 2006-2020 Magento, Inc. (https://www.magento.com)
 * @copyright   Copyright (c) 2021-2023 The OpenMage Contributors (https://www.openmage.org)
 * @license     https://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
 */
?>
<?php /** @var Mage_Catalog_Block_Product_View_Options_Type_Date $this */ ?>
<?php $_option = $this->getOption(); ?>
<?php $_optionId = $_option->getId(); ?>
<dt class="label"><label<?php if ($_option->getIsRequire()) echo ' class="required"' ?>><?php if ($_option->getIsRequire()) echo '<em>*</em>' ?><?php echo  $this->escapeHtml($_option->getTitle()) ?></label>
    <?php echo $this->getFormatedPrice() ?></dt>
<dd<?php if ($_option->decoratedIsLast){?> class="last"<?php }?>>

<?php if ($_option->getType() == Mage_Catalog_Model_Product_Option::OPTION_TYPE_DATE_TIME
    || $_option->getType() == Mage_Catalog_Model_Product_Option::OPTION_TYPE_DATE): ?>

    <?php echo $this->getDateHtml() ?>

    <?php if (!$this->useCalendar()): ?>
    <script type="text/javascript">
    //<![CDATA[
        var dateOption = productConfigure.opConfig.dateOption;
        Event.observe('options_<?php echo $_optionId ?>_month', 'change', dateOption.reloadMonth.bind(dateOption));
        Event.observe('options_<?php echo $_optionId ?>_year', 'change', dateOption.reloadMonth.bind(dateOption));
    //]]>
    </script>
    <?php endif ?>

<?php endif ?>

<?php if ($_option->getType() == Mage_Catalog_Model_Product_Option::OPTION_TYPE_DATE_TIME
    || $_option->getType() == Mage_Catalog_Model_Product_Option::OPTION_TYPE_TIME): ?>
    <span class="time-picker"><?php echo $this->getTimeHtml() ?></span>
<?php endif ?>

    <input type="hidden" name="validate_datetime_<?php echo $_optionId ?>" class="validate-datetime-<?php echo $_optionId ?>" value="" />
    <script type="text/javascript">
    //<![CDATA[
<?php if ($_option->getIsRequire()): ?>
        Validation.addAllThese(
        [
               ['validate-datetime-<?php echo $_optionId ?>', '<?php echo $this->jsQuoteEscape( Mage::helper('catalog')->__('This is a required option') )?>', function(v) {
                   var dateTimeParts = $$('.datetime-picker[id^="options_<?php echo $_optionId ?>"]');
                   for (var i=0; i < dateTimeParts.length; i++) {
                       if (dateTimeParts[i].value == "") return false;
                   }
                   return true;
                }]
        ]
        );
<?php else: ?>
        Validation.add(
            'validate-datetime-<?php echo $_optionId ?>',
            '<?php echo $this->jsQuoteEscape( Mage::helper('catalog')->__('Field is not complete') )?>',
            function(v) {
                var dateTimeParts = $$('.datetime-picker[id^="options_<?php echo $_optionId ?>"]');
                var hasWithValue = false, hasWithNoValue = false;
                var pattern = /day_part$/i;
                for (var i=0; i < dateTimeParts.length; i++) {
                   if (! pattern.test(dateTimeParts[i].id)) {
                       if (dateTimeParts[i].value === "") {
                           hasWithValue = true;
                       } else {
                           hasWithNoValue = true;
                       }
                   }
                }
                return hasWithValue ^ hasWithNoValue;
            }
        );
<?php endif ?>
    //]]>
    </script>
</dd>
