// create a new date object
var now = new Date();
// extract the time information
var da = now.getDate();
var dy = now.getDay();
var mm = now.getMonth();
var yy = now.getYear();
var hh = now.getHours();
var mn = now.getMinutes();
var ms = now.getMinutes();
var ss = now.getSeconds();

//default welcome message
var hi = "Hi, Night Rider";
if(hh>4) hi = "Hi, Early Riser"
if(hh>7) hi = "Good Morning";
if(hh>11) hi = "Good Afternoon";
if(hh>17) hi = "Good Evening";

// now interpret the above numbers which start at 0
var day = new Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday");
dy = day[dy];
var mon = new Array("January","February","March","April","May","June","July",
"August","September","October","November","December");
mm= mon[mm];
var dat = new Array("","1st","2nd","3rd","4th","5th","6th","7th","8th","9th","10th","11th",
"12th","13th","14th","15th","16th","17th","18th","19th","20th","21st","22nd","23rd","24th",
"25th","26th","27th","28th","29th","30th","31st");
da= dat[da];

if(mn>30) hh=hh+1; 
var hrs = new Array("midnight","one","two","three","four","five","six","seven","eight","nine",
"ten","eleven","twelve","one","two","three","four","five","six","seven","eight","nine","ten",
"eleven","midnight");
hh= hrs[hh];

var mns = new Array("exactly","one minute past","two minutes past","three minutes past","four minutes past","five past",
"six minutes past","seven minutes past","eight minutes past","nine minutes past","ten past","eleven minutes past",
"twelve minutes past","thirteen minutes past","fourteen minutes past","quarter past","sixteen minutes past",
"seventeen minutes past","eighteen minutes past","nineteen minutes past","twenty past","twenty-one minutes past",
"twenty-two minutes past","23 minutes past","24 minutes past","twenty-five past","twenty-six minutes past",
"twenty-seven minutes past","twenty-eight minutes past","twenty-nine minutes past","half past","twenty-nine minutes to",
"twenty-eight minutes to","twenty-seven minutes to","twenty-six minutes to","twenty-five to","twenty-four minutes to","twenty-three minutes to",
"twenty-two minutes to","twenty-one minutes to","twenty to","nineteen minutes to","eighteen minutes to","seventeen minutes to",
"sixteen minutes to","quarter to","fourteen minutes to","thirteen minutes to","twelve minutes to",
"eleven minutes to","ten to","nine minutes to","eight minutes to","seven minutes to","six minutes to",
"five to","four minutes to","three minutes to","two minutes to","one minute to","exactly");
mn= mns[mn];

var mins = new Array("o'clock","","","","","","","","","","","","","","","",
"","","","","","","","","","","","","","","","","","","","","","","","","",
"","","","","","","","","","","","","","","","","","","","o'clock");
ms= mins[ms];

//display welcome message and the current time
var tim = hi; 

document.write(tim + " ---> it is "+mn+" "+hh+" "+ms+" on "+dy+" "+da+" "+mm);