/**
  * Cambia fecha en campo texto.
  *
  * Evento que se cumple al cambiar el mes o año a mostrar en el calendario.
  * @ignore
  * @param $partDate
  * @param $toUpdate
  * @return string
  */
 public function MYFORM_calOnChange($partDate, $toUpdate, $form_name = '')
 {
     list($nD, $nM, $nA) = explode('_', $partDate);
     $cal = new OPF_myCal($nA, $nM, $nD, $toUpdate, $form_name);
     $this->assign('div_trigger_' . $toUpdate, 'innerHTML', $cal->getCalendar());
     return $this->response;
 }
<?php

/**
 * Llama asincronicamente el modulo Calendario para los
 * formulario de la clase myForm.
 */
if (!$_GET['date']) {
    $_GET['date'] = date('Y-m-d');
} else {
    if (!preg_match('/\\d{4}-\\d{2}-\\d{2}/', $_GET['date'])) {
        $_GET['date'] = date('Y-m-d');
    }
}
list($nA, $nM, $nD) = explode('-', $_GET['date']);
$nM = intval($nM);
$cal = new OPF_myCal($nA, $nM, $nD, $_GET['update'], $_GET['form_name']);
echo $cal->getCalendar();
die;