// if invalid date selected then selected date = today
if (!$dateok) {
$mo = date('m');
$da = date('d');
$yr = date('Y');
}
$offset = date('w', mktime(0,0,0,$mo,1,$yr));
// we must have a value in range 1..7
if ($offset == 0) $offset = 7;
// days in month
$nd = date('d', mktime(0,0,0,$mo+1,0,$yr));
// days array
$days = array();
// reset array
for ($i=0;$i<=42;$i++) $days[$i]['out']= ' ';
// fill days array
// valid days contain data, invalid days are left blank
$j=1;
for ($i=$offset;$i<=($offset+$nd-1);$i++) {
$day = $j++;
$date = $yr.'-'.$mo.'-'.$day;
$days[$i]['out']= '<a href="?day='.$date.'">'.$day.'</a>';
$days[$i]['dat']= $date;
}