
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ funcBallparkTime()
function funcBallparkTime(strHour,numMin) {
   //Function: funcBallparkTime()
   // Purpose: converts the time of day into a plain English approximation
   ///////////
   if (!strHour && !numMin) {
      time = new Date();
      strHour = time.getHours();
      numMin = time.getMinutes();
   }
   strQuarter = funcDaytime(strHour);
   strHour = strHour % 12;
   if (numMin > 57 && time.getSeconds() > 30) {
      numMin++;
   }
   if (numMin > 60) {
      numMin = 0;
   } else if (numMin > 33) {
      strHour++;
   } else if (strHour > 12) {
      strHour = 1;
   } else if (strHour == 0) {
      strHour = 12;
   }
   var numDate = strRightNow.getDate();
   var strEnder;
   if (numDate == 1 || numDate == 21 || numDate == 31) {
      strEnder = "st";
   } else if (numDate == 2 || numDate == 22) {
      strEnder = "nd";
   } else if (numDate == 3 || numDate == 23) {
      strEnder = "rd";
   } else {
      strEnder = "th";
   }
   //
   //return "Page opened at about "+funcApprxTime(strHour,numMin)+strQuarter+" on "+strDay+", the "+numDate+ strEnder+" of "+strMonth;
   return "Page opened at about "+funcApprxTime(strHour,numMin)+strQuarter;
   //
}//end function funcBallpark()
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ funcConvertNumber()
function funcConvertNumber(numX) {
   //Function: funcConvertNumber()
   // Purpose: converts a number to its corresponding word
   ///////////
   if (numX==1) return "one"; if (numX==2) return "two"; if (numX==3) return "three"; if (numX==4) return "four"; if (numX==5) return "five";
   if (numX==6) return "six"; if (numX==7) return "seven"; if (numX==8) return "eight"; if (numX==9) return "nine"; if (numX==10) return "ten";
   if (numX==11) return "eleven"; if (numX==12) return "twelve";
   return numX;
}//end function funcConvertNumber()
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ funcApprxTime()
function funcApprxTime(strHour,numMin) {
   //Function: funcApprxTime()
   // Purpose: converts the minutes to an approximation
   ///////////
   strHour = funcConvertNumber(strHour);
   if (numMin <= 3 || numMin > 57) return strHour+" o'clock";
   if (numMin <=7)  return "five past "+strHour;
   if (numMin <=12) return "ten past "+strHour;
   if (numMin <=17) return "a quarter past "+strHour;
   if (numMin <=23) return "twenty past "+strHour;
   if (numMin <=28) return "twenty-five past "+strHour;
   if (numMin <=33) return "half past "+strHour;
   if (numMin <=38) return "twenty-five 'til "+strHour;
   if (numMin <=43) return "twenty 'til "+strHour;
   if (numMin <=48) return "a quarter 'til "+strHour;
   if (numMin <=53) return "ten 'til "+strHour;
   if (numMin <=58) return "five 'til "+strHour;
   return "strHour:numMin";
}//end function funcApprxTime()
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ funcDaytime()
function funcDaytime(strHour) {
   //Function: funcDaytime()
   // Purpose: determines the part of the day
   ///////////
   if (!strHour || strHour > 21) {
      return " at night";
   }
   if (strHour < 12) {
      return " in the morning";
   }
   if (strHour <= 17) {
      return " in the afternoon";
   }
   return " in the evening";
}//end function funcDaytime()
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   //
   document.write(funcBallparkTime());
   //
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

