// Age Calculator Script
// refer to http://www.buckbd.com/genea/DMYajscr.html
// many thanks to the original author, Ben Buckner
//
function getMonthLength(month,year,julianFlag)
{
   var ml;
   if(month==1 || month==3 || month==5 || month==7 || month==8 || month==10||month==12)
      {ml = 31;}
   else {
       if(month==2) {
          ml = 28;
          if(!(year%4) && (julianFlag==1 || year%100 || !(year%400)))
             ml++;
       }
       else
          {ml = 30;}
   }
   return ml;    
}

function computeAge(db, mb, yb)
{
//   var ml={31,28,31,30,31,30,31,31,30,31,30,31};
   MNames=new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep",
      "Oct","Nov","Dec");
   Today=new Date();
   var u;
   var s;
   var t;
   var yd = Today.getYear()+1900;
   var md = Today.getMonth();
   var dd = Today.getDate();
   // Month length 0->use calendar length
   var mLength =0;
   var isJulian = 0;
   var ma=0;
   var ya=0;

   var da = dd-db;
   // This is the all-important day borrowing code.
   if(da<0)
   {
      md--;
      // Borrow months from the year if necesssary.
      if(md<1)
      {
	 yd--;
	 // Determine no. of months in year
	 if(mLength)
	    {md=md+parseInt(365/mLength);}
	 else
	    {md=md+12;}
      }
      if(mLength==0) // Use real month length if no fixed
      {              // length is indicated - note that we add a leap day if necessary.
         ml=getMonthLength(md,yd,isJulian);
	 da=da+ml;
      } 
      // For this case, everything works like it did in elementary school.
      else
	 {da+=mLength;} // Use fixed month length
   }

   ma = md - mb;
   // Month borrowing code - borrows months from years.
   if(ma<0) {yd--;
     if(mLength!=0) {ma=ma+parseInt(365/mLength);} else {ma=ma+12;}
   }
   
   ya = yd - yb;
   if (ya>=1900) {ya=ya-1900;}
   
   if (ya==0) { s="";} else {s = ya + " year";}
      if (ya>1) { s = s + "s ";} else { if (s != "") {s = s + " "}
   }

   if (ma==0) { t=s;} else {t = s + ma + " month";
      if (ma>1)  {t = t + "s ";} else { t=t + " ";}
   }
   
   if (da==0) { u=t;} else {u = t + da + " day";
      if (da>1) {u=u + "s old."; } else {u = u + " old.";}
   }
   document.write(u);
}
