//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ notafuncHousekeeping()
   if (top.frames.length!=0) {
      top.location=self.document.location;
   }
   //~~~~~~~~~~~~~~~~~~~ declare some browser identification variables...
   var strBrowserInUse = navigator.appName;
   var strBrowserVersion = navigator.appVersion;
   var strBrowserCode = navigator.appCodeName;
   var strPlatformInUse = navigator.platform;
   var strAgentInUse = navigator.userAgent;
   //~~~~~~~~~~~~~~~~~~~ Look for browsers to be excluded from certain functions...
   var boolIsSafari = false;
   var boolIsOpera = false;
   var boolIsIEmac = false;
   if (strAgentInUse.indexOf("Safari") != -1) {
      boolIsSafari = true;
   } else if (strAgentInUse.indexOf("Opera") != -1) {
      boolIsOpera = true;
   } else if ((strPlatformInUse=="MacPPC")&&(strBrowserInUse=="Microsoft Internet Explorer")) {
      boolIsIEmac = true;
   }
   //~~~~~~~~~~~~~~~~~~~ declare date variables (used in many places)...
   var arrDaysOfWeek = new Array();
   arrDaysOfWeek[0]="Sunday";
   arrDaysOfWeek[1]="Monday";
   arrDaysOfWeek[2]="Tuesday";
   arrDaysOfWeek[3]="Wednesday";
   arrDaysOfWeek[4]="Thursday";
   arrDaysOfWeek[5]="Friday";
   arrDaysOfWeek[6]="Saturday";
   var arrMonths = new Array();
   arrMonths[0]="January";
   arrMonths[1]="February";
   arrMonths[2]="March";
   arrMonths[3]="April";
   arrMonths[4]="May";
   arrMonths[5]="June";
   arrMonths[6]="July";
   arrMonths[7]="August";
   arrMonths[8]="September";
   arrMonths[9]="October";
   arrMonths[10]="November";
   arrMonths[11]="December";
   var strRightNow = new Date();
   var strDay = arrDaysOfWeek[strRightNow.getDay()];
   var numDate = strRightNow.getDate();
   var strMonth = arrMonths[strRightNow.getMonth()];
   var numYear = strRightNow.getFullYear();
   var strDateEnder = getOrdinal(numDate);
//}end not-a-functionHousekeeping()   
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ getOrdinal()
   //Function: getOrdinal()
   // Purpose: returns the appropriate ordinal (st, nd, rd, th) to turn a whole number (492) into a string (492nd)
   //    Arg0: numNumber, a whole number (or even a string of numerical characters which will be converted into a whole number)
   //    Arg1: numMethod, either 1 (returns only the ordinal: 492 => "nd")
   //                            2 (returns the ordinal tacked onto the end of numNumber: 492 => "492nd" (a string))
   //                            3 (if numNumber is > 999, put commas into it and append the ordinal: 58429301 => 58,429,301st")
   //                            (if no arg1 is sent, it will be treated as numMethod 1 and will return only the ordinal)
   //   Usage: 1) numYearsAgo = (strRightNow.getFullYear()-1944); //...(2005 minus 1944 = 61)
   //             strNumEnder = getOrdinal(numYearsAgo); //...(returns "st")
   //             strAnniversary = numYearsAgo + strNumEnder + " anniversary of D-Day!"; //...(strAnniversary is now "61st anniversary of D-Day!")
   //          2) numWhatever = 611;
   //             strWhatever = getOrdinal(numWhatever,2); (strWhatever is now "611th")
   //          3) numWhatever = 1234567890;
   //             strWhatever = getOrdinal(numWhatever,3); (strWhatever is now "1,234,567,890th")(uses my addCommas() function)
   //   Notes: Many web dev sites made this waaay too long and complicated beyond reason, so I wrote my own.
   //          For clarity, it's spread out over many more lines than could have been, yet it's still a fraction in size of them others.
   //          I feel entitled to pat myself on the back for the modulo(%) schemes I came up with here. In fact, I think I will.
   ///////////
   var numNumber;
   var numLastDigit;
function getOrdinal(numNumber,numMethod) {
   // if arg numNumber is a string, convert it into a number...
   if (typeof(numNumber)=='string') {
      numNumber = parseFloat(numNumber);
   }
   if (numNumber <= 0) {
      // to prevent returning "0th" or "-3th" (don't care to deal with zero or negative numbers)...
      return numNumber;
   }
   numLastDigit = numNumber%10; //...(moves the decimal left one digit, gets the single digit to the right)
   if (numLastDigit == 0) {
      if (numMethod == 2) {
         return numNumber+"th"; //...(ie; 10th, 5720th, 5284000th)
      } else if (numMethod == 3) {
         return addCommas(numNumber)+"th"; //...(ie; 10th, 5,720th, 5,284,000th)
      } else {
         return "th";
      }
   } else if (numLastDigit == 1) { 
      if (numNumber%100 == 11) { //...(moves the decimal left two digits, gets the two digits to the right)
         if (numMethod == 2) {
            return numNumber+"th"; //...(ie; 11th, 5111th, 2840611th)
         } else if (numMethod == 3) {
            return addCommas(numNumber)+"th"; //...(ie; 11th, 5,111th, 2,840,611th)
         } else {
            return "th";
         }
      } else {
         if (numMethod == 2) {
            return numNumber+"st"; //...(ie; 1st, 781st, 2840601st)
         } else if (numMethod == 3) {
            return addCommas(numNumber)+"st"; //...(ie; 1st, 781st, 2,840,601st)
         } else {
            return "st";
         }
      }
   } else if (numLastDigit == 2) {
      if (numNumber%100 == 12) {
         if (numMethod == 2) {
            return numNumber+"th"; //...(ie; 12th, 6012th, 2840612th)
         } else if (numMethod == 3) {
            return addCommas(numNumber)+"th"; //...(ie; 12th, 6,012th, 2,840,612th)
         } else {
            return "th";
         }
      } else {
         if (numMethod == 2) {
            return numNumber+"nd"; //...(ie; 2nd, 6942nd, 2840602nd)
         } else if (numMethod == 3) {
            return addCommas(numNumber)+"nd"; //...(ie; 2nd, 6,942nd, 2,840,602nd)
         } else {
            return "nd";
         }
      }
   } else if (numLastDigit == 3) {
      if (numNumber%100 == 13) {
         if (numMethod == 2) {
            return numNumber+"th"; //...(ie; 13th, 6713th, 2840613th)
         } else if (numMethod == 3) {
            return addCommas(numNumber)+"th"; //...(ie; 13th, 6,713th, 2,840,613th)
         } else {
            return "th";
         }
      } else {
         if (numMethod == 2) {
            return numNumber+"rd"; //...(ie; 3rd, 6993rd, 2840603rd)
         } else if (numMethod == 3) {
            return addCommas(numNumber)+"rd"; //...(ie; 3rd, 6,993rd, 2,840,603rd)
         } else {
            return "rd";
         }
      }
   } else {
      if (numMethod == 2) {
         return numNumber+"th";
      } else if (numMethod == 3) {
         return addCommas(numNumber)+"th";
      } else {
         return "th";
      }
   }
}//end function getOrdinal()
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ addCommas()
   //Function: addCommas()
   // Purpose: takes in a number (or even a string of numerical characters) and returns a string with commas in place
   //   Usage: addCommas(1234567890); //...(returns 1,234,567,890)
   //          addCommas(1234.50); //...(returns 1,234.50)
   //          addCommas(1234.5); //...(returns 1,234.50)
   //  Credit: javascript.internet.com/messages/add-commas.html
   ///////////
function addCommas(number) {
   if (number > 999) {
      number = '' + number;
      if (number.length > 3) {
         var mod = number.length % 3;
         var output = (mod > 0 ? (number.substring(0,mod)) : '');
         for (i=0 ; i < Math.floor(number.length / 3); i++) {
            if ((mod == 0) && (i == 0)) {
               output += number.substring(mod+ 3 * i, mod + 3 * i + 3);
            } else {
               output+= ',' + number.substring(mod + 3 * i, mod + 3 * i + 3);
            }
         }
         return (output);
      }
   } else {
      return number; // return it unchanged
   }
}//end function addCommas()
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ randomNumber()
   //Function: randomNumber()
   // Purpose: returns a random number between numMin and numMax to attach to an image filename, amoung other things
   //   Usage: (within javascript): "<img src="pix/image"+randomNumber(0,10)+".jpg" width="574" height="60" alt="" />";
   //          (this assumes that the images are similarly named and have the same dimensions)
   ///////////
   var numMin;
   var numMax;
   var numRandSelection;
function randomNumber(numMin,numMax) {
   numRandSelection = Math.floor(Math.random()*numMax)+numMin;
   return numRandSelection;
}//end function randomNumber()
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
