It is really a good toolbox. Thank you for making my life little easy. One suggestion for the author on Julian dates. In the function jd2cal, jd has to be positive. jd can be negitive (if they exist), following modification needed to the code
dy = c - e - fix(30.6001*f) + rem((jd+0.5),max(a,1));
dy = c - e - fix(30.6001*f) + rem((jd+0.5),a);
In above case you are able to get 1st gragorian date for zeroth julian day. otherwise greogrian calander start from 2nd jan.