$pay_period_schedule_data['new_day_trigger_time'] = TTDate::parseTimeUnit($pay_period_schedule_data['new_day_trigger_time']);
    }
    if (isset($pay_period_schedule_data['maximum_shift_time'])) {
        $pay_period_schedule_data['maximum_shift_time'] = TTDate::parseTimeUnit($pay_period_schedule_data['maximum_shift_time']);
    }
}
//var_dump($pay_period_schedule_data);
$ppsf = new PayPeriodScheduleFactory();
$action = Misc::findSubmitButton();
$action = strtolower($action);
switch ($action) {
    case 'submit':
        //Debug::setVerbosity(11);
        Debug::Text('Submit!', __FILE__, __LINE__, __METHOD__, 10);
        $ppsf->StartTransaction();
        $ppsf->setId($pay_period_schedule_data['id']);
        $ppsf->setCompany($current_company->getId());
        $ppsf->setName($pay_period_schedule_data['name']);
        $ppsf->setDescription($pay_period_schedule_data['description']);
        $ppsf->setType($pay_period_schedule_data['type']);
        $ppsf->setStartWeekDay($pay_period_schedule_data['start_week_day_id']);
        if ($pay_period_schedule_data['type'] == 5) {
            $ppsf->setAnnualPayPeriods($pay_period_schedule_data['annual_pay_periods']);
        }
        if ($pay_period_schedule_data['type'] == 10 or $pay_period_schedule_data['type'] == 20) {
            $ppsf->setStartDayOfWeek($pay_period_schedule_data['start_day_of_week']);
            $ppsf->setTransactionDate($pay_period_schedule_data['transaction_date']);
        } elseif ($pay_period_schedule_data['type'] == 30) {
            $ppsf->setPrimaryDayOfMonth($pay_period_schedule_data['primary_day_of_month']);
            $ppsf->setSecondaryDayOfMonth($pay_period_schedule_data['secondary_day_of_month']);
            $ppsf->setPrimaryTransactionDayOfMonth($pay_period_schedule_data['primary_transaction_day_of_month']);