You should be using getFullYear instead of getYear because getYear has a Y2K bug and will display 110 in some browsers.
Also why have a blank entry at the front of the array and have to add one to the month to find the right entry. Simpy assign
var monthnames = ['January','February', ...
and get rid of the +1.