var monthnames = new Array( "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" ); 
today = new Date()

var currentYear=today.getYear()
if (currentYear < 1900) currentYear=currentYear+1900
var currentDate=today.getDate()

var currentMonth=today.getMonth()
var currentDay=today.getDay()

var aday=new Date(1970, 0, 1)


function initiateaday(someday)
{
someday.setTime(0)
someday.setUTCFullYear(1970)
someday.setUTCMonth(0)
someday.setUTCDate(1)

return someday.getTime()
}


function datetodaynum(somedateformat)
{

var initmillisecs=initiateaday(aday)

if (somedateformat!=Math.floor(somedateformat)) {return 'Invalid date'}
var someyear=Math.floor(somedateformat/10000)
var somemonthandday=somedateformat-10000*someyear
var somemonth=Math.floor(somemonthandday/100)
if (somemonth>12) {return 'Invalid date'}
if (somemonth<1) {return 'Invalid date'}
var someday=somemonthandday-100*somemonth
if (someday>31) {return 'Invalid date'}
if (someday<1) {return 'Invalid date'}
aday.setUTCFullYear(someyear)
aday.setUTCMonth(somemonth-1)
aday.setUTCDate(someday)

return (Math.floor((aday.getTime()+initmillisecs)/(1000*60*60*24)))
}

function daynumtodate(someinteger)
{
if (someinteger!=Math.floor(someinteger)) {return 'Not an integer'}
var initmillisecs=initiateaday(aday)

somemilli=someinteger*1000*60*60*24
aday.setTime(somemilli+initmillisecs)

return 10000*aday.getUTCFullYear()+100*(aday.getUTCMonth()+1)+aday.getUTCDate()
}

function daynumtodatelist(someinteger) // note month is 0-11
{
if (someinteger!=Math.floor(someinteger)) {return 'Not an integer'}
var initmillisecs=initiateaday(aday)

somemilli=someinteger*1000*60*60*24
aday.setTime(somemilli+initmillisecs)

return [aday.getUTCFullYear(), (aday.getUTCMonth()), aday.getUTCDate()]
}
