function incDate(&$dateArr, $amount, $unit)
{
    global $debug;
    if ($debug) {
        echo sprintf("Increasing from %02d.%02d. %02d:%02d by %d %6s ", $dateArr['mday'], $dateArr['mon'], $dateArr['hours'], $dateArr['minutes'], $amount, $unit);
    }
    if ($unit == "mday") {
        $dateArr["hours"] = 0;
        $dateArr["minutes"] = 0;
        $dateArr["seconds"] = 0;
        $dateArr["mday"] += $amount;
        $dateArr["wday"] += $amount % 7;
        if ($dateArr["wday"] > 6) {
            $dateArr["wday"] -= 7;
        }
        // Start: Bug (13. month) fixed by MaMo-Net
        if ($dateArr["mday"] == date("t")) {
            $dateArr["mon"]++;
            if ($dateArr["mon"] > 12) {
                $dateArr["mon"] = 1;
            }
            $dateArr["mday"] = 1;
        }
        // End: Bug (13. month) fixed by MaMo-Net
    } elseif ($unit == "hour") {
        if ($dateArr["hours"] == 23) {
            incDate($dateArr, 1, "mday");
        } else {
            $dateArr["minutes"] = 0;
            $dateArr["seconds"] = 0;
            $dateArr["hours"]++;
        }
    } elseif ($unit == "minute") {
        if ($dateArr["minutes"] == 59) {
            incDate($dateArr, 1, "hour");
        } else {
            $dateArr["seconds"] = 0;
            $dateArr["minutes"]++;
        }
    }
    if ($debug) {
        echo sprintf("to %02d.%02d. %02d:%02d\n", $dateArr['mday'], $dateArr['mon'], $dateArr['hours'], $dateArr['minutes']);
    }
}
function incDate(&$dateArr, $amount, $unit)
{
    if ($unit == "mday") {
        $dateArr["hours"] = 0;
        $dateArr["minutes"] = 0;
        $dateArr["seconds"] = 0;
        $dateArr["mday"] += $amount;
        $dateArr["wday"] += $amount % 7;
        if ($dateArr["wday"] > 6) {
            $dateArr["wday"] -= 7;
        }
        // Start: Bug (13. month) fixed by MaMo-Net
        if ($dateArr["mday"] == date("t")) {
            $dateArr["mon"]++;
            if ($dateArr["mon"] > 12) {
                $dateArr["mon"] = 1;
            }
            $dateArr["mday"] = 1;
        }
        // End: Bug (13. month) fixed by MaMo-Net
    } elseif ($unit == "hour") {
        if ($dateArr["hours"] == 23) {
            incDate($dateArr, 1, "mday");
        } else {
            $dateArr["minutes"] = 0;
            $dateArr["seconds"] = 0;
            $dateArr["hours"]++;
        }
    } elseif ($unit == "minute") {
        if ($dateArr["minutes"] == 59) {
            incDate($dateArr, 1, "hour");
        } else {
            $dateArr["seconds"] = 0;
            $dateArr["minutes"]++;
        }
    }
}