Update Date field using a custom function

Update Date field using a custom function

Hello,
In Zoho FSM, Equipments module, I created the following custome fields for tracking the calibration of the eqipments:

"Calibration Required"; type: Checkbox; API Name: "Calibration_Required__C"
"Calibration Interval (Days)"; type: Number; API Name: "Calibration_Interval_Days__C"
"Last Calibrated"; type: Date; API Name: "Last_Calibrated__C"
"Calibration Due"; type: Date; API Name: "Calibration_Due__C"
"Notify In Advance (Days)"; type: Pick List; API Name: Notify_In_Advance_Days__C; pick list options: 30, 60, 90
"
Calibration Status"; type: Pick List; API Name: "Calibration_Status__C"; pick list options: Valid, Due, Overdue

I would like to:
1. On record created or edited, I would like to calculate the Calibration_Due__C field as Last_Calibrated__C +Calibration_Interval_Days__C as well as, the Calibration_Status__C as follows:
if 
Calibration_Due__C < Today's Date then Calibration_Status__C = "Overdue"
else if Calibration_Due__C - Notify_In_Advance_Days__C < Today's Date then Calibration_Status__C = "Due"
else Calibration_Status__C = "Valid"

2. Run a weekly check and update the Calibration_Status__C field based on the same logic as above and send am email to a user listing all Due and Overdue Equipment.

If anyone could help me with this, I would really appreciate it.

By the way, my subscription is Zoho FSM Professional.

Thanks,
Cornel.