<?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     base_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><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[
        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>
