function makeArray() {
  var args = makeArray.arguments;
  for (var i = 0; i < args.length; i++) {
    this[i] = args[i];
  }
  this.length = args.length;
}

function fixDate(date) {
  var base = new Date(0);
  var skew = base.getTime();
  if (skew > 0)
    date.setTime(date.getTime() - skew);
}

function getString(date) {
  var months = new makeArray("January", "February", "March",
                             "April",   "May",      "June",
                             "July",    "August",   "September",
                             "October", "November", "December");

	var suffix;
	switch (date.getDate())
  		{
    		case 1: { suffix = "st"; break }
    		case 21: { suffix = "st"; break }
    		case 31: { suffix = "st"; break }
    		case 2: { suffix = "nd"; break }
    		case 22: { suffix = "nd"; break }
    		case 3: { suffix = "rd"; break }
    		case 23: { suffix = "rd"; break }
		    default: { suffix = "th"; break }
	  }


  return date.getDate() + suffix + " " +
		months[date.getMonth()] + ", " +
         date.getFullYear();

}

function displayDate() {
	var cur = new Date();
	fixDate(cur);
	var str = getString(cur);
	document.write(str);
	}
