function SignatureAsUrl(startYr)
{
  return "<a href='http://zijlema.basicguru.eu/'>" + Signature(startYr) + "</a>"
}

function Signature(startYr)
{
  var now     = new Date();
  var finalYr = now.getFullYear();
      
  if (startYr==finalYr) 
    {
      var display = finalYr;
    } 
  else  
    {
      var display = startYr + "-" + finalYr;
    } 
  return "Copyright &copy; " + display + ": <b>Egbert Zijlema</b><br>E-mail: ezijlema@egbertzijlema.nl";
}

function MonthName(m)
{
  var mthname=new Array(12);
  mthname[0]  = "January";
  mthname[1]  = "February";
  mthname[2]  = "March";
  mthname[3]  = "April";
  mthname[4]  = "May";
  mthname[5]  = "June";
  mthname[6]  = "July";
  mthname[7]  = "August";
  mthname[8]  = "September";
  mthname[9]  = "October";
  mthname[10] = "November";
  mthname[11] = "December";
  return mthname[m];
} 

function DayName(d)
{
  var dayname=new Array(7);   
  dayname[0] = "Sunday";             
  dayname[1] = "Monday";
  dayname[2] = "Tuesday";
  dayname[3] = "Wednesday";
  dayname[4] = "Thursday";
  dayname[5] = "Friday";
  dayname[6] = "Saturday";
  return dayname[d];
}

function Gregorian(yr, mt, dy)
{    
  mt = mt + 1                // base: January = 1

  if (mt < 3)
    { mt = mt + 12
      yr = yr - 1 } 

  yr = yr - 1600; 
  var days  = 6286;
  var years = Math.floor(yr * 365.25);
  var leaps = Math.floor(yr / 100) - Math.floor(yr / 400);  
  var mnths = Math.floor(((mt - 1) * 30.6) + 0.2);
  return days + years - leaps + mnths + dy;
}

function GetGregorianDate()
{
  var now  = new Date();
  var y    = now.getFullYear();
  var m    = now.getMonth();
  var d    = now.getDate();
  var Greg = Gregorian(y, m, d);
  return Greg  
}

function ear()
{
  var now   = new Date();
  var y     = now.getFullYear();
  var d     = now.getDate();
  var dname = DayName(now.getDay()); 
  var mname = MonthName(now.getMonth());
 return dname.italics() + ", " + mname + " " + d + ", " + y; 
}

function OrdinalWeekdayOfMonth(y, m, dw, o)
{  
  var count = 1
  var CalDate  = new Date(m + "/" + count + "/" + y) 
  while (CalDate.getDay() != dw)
               {
               count = count + 1
               CalDate = new Date(m + "/" + count + "/" + y)
               }
  count = count + (o - 1) * 7 
  CalDate = new Date(m + "/" + count + "/" + y)
  return CalDate
}

function OrdinalsNextOccur(y, m, dw, o)
{
  var now = new Date();
  var y = now.getFullYear(); 
  var nowGreg = Gregorian(y, now.getMonth(), now.getDate());                     
  var cdate = OrdinalWeekdayOfMonth(y, m, dw, o);
  var cdateGreg = Gregorian(cdate.getFullYear(), cdate.getMonth(), cdate.getDate());
  if (cdateGreg < nowGreg)
               { 
               cdate = OrdinalWeekdayOfMonth(y + 1, m, dw, o)
               }
  return cdate;
}
 
 


