function testMDYFormat()
 {
     /* We get MM-DD-YYYY format as the data value for YYYY-MM-DD input value */
     $dateField = new LegacyDateField('Date', 'Date', '03/04/2003');
     $this->assertEquals($dateField->dataValue(), '2003-04-03');
     /* Even if input value hasn't got leading 0's in it we still get the correct data value */
     $dateField2 = new LegacyDateField('Date', 'Date', '3/4/03');
     $this->assertEquals($dateField2->dataValue(), '03-4-3');
 }
 function setForm($form)
 {
     $this->dateDropdown->setForm($form);
     $this->monthDropdown->setForm($form);
     $this->yearDropdown->setForm($form);
     parent::setForm($form);
 }
    function Field()
    {
        Requirements::javascript(SAPPHIRE_DIR . "/javascript/CalendarDateField.js");
        $field = LegacyDateField::Field();
        $id = $this->id();
        $val = $this->attrValue();
        if (preg_match('/^\\d{2}\\/\\d{2}\\/\\d{4}$/', $val)) {
            $dateArray = explode('/', $val);
            $val = $dateArray[2] . '-' . $dateArray[1] . '-' . $dateArray[0];
        }
        $day = $month = $year = null;
        if ($val) {
            $dateArray = explode('-', $val);
            $day = $dateArray[2];
            $month = $dateArray[1];
            $year = $dateArray[0];
        }
        $fieldName = $this->name;
        return <<<HTML
\t\t\t<div class="dmycalendardate">
\t\t\t\t<input type="text" id="{$id}-day" class="day" name="{$fieldName}[Day]" value="{$day}" maxlength="2" />/
\t\t\t\t<input type="text" id="{$id}-month" class="month" name="{$fieldName}[Month]" value="{$month}" maxlength="2" />/
\t\t\t\t<input type="text" id="{$id}-year" class="year" name="{$fieldName}[Year]" value="{$year}" maxlength="4" />
\t\t\t\t<div class="calendarpopup" id="{$id}-calendar"></div>
\t\t\t</div>
HTML;
    }