Pass the newValue via the GlideAjax, then compare to the schedule and use GlideDateTime methods to add a day.  If you return the displayValue of the resulting date, you're only updating the variable once, then without the other functions it will be easier to see what's going on if it isn't as expected.