var maanden_nl = new Array( "", "januari", "februari", "maart", "april", "mei", "juni", "juli", "augustus", "september", "oktober", "november", "december" );
var maanden_en = new Array( "", "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" );
var maanden;

var dagen_nl = new Array( "zondag", "maandag", "dinsdag", "woensdag", "donderdag", "vrijdag", "zaterdag", "zondag" );
var dagen_en = new Array( "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" );
var dagen;

var maanddagen = new Array( 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 );
var dagkort_nl = new Array( "Z", "M", "D", "W", "D", "V", "Z", "Z" );
var dagkort_en = new Array( "S", "M", "T", "W", "T", "F", "S", "S" );
var dagkort;

var vandaag = new Date();
var ditjaar = vandaag.getYear();
if ( ditjaar < 1900 ) { ditjaar += 1900; }
var dezemnd = vandaag.getMonth() + 1;
var dezedag = vandaag.getDate();

var toonmndva = dezemnd;
var toonjrva = ditjaar;
var toonmndtm = toonmndva - 1;
var toonjrtm = ditjaar + 1;

var telmndva = toonmndva;
var teljrva = toonjrva;

function agenda( taal )
{
  var toon    = new Array();
  var datumva = new Array();
  var datumtm = new Array();
  var waar_nl = new Array();
  var waar_en = new Array();
  var wat_nl  = new Array();
  var wat_en  = new Array();
  var info_nl = new Array();
  var info_en = new Array();
  var website = new Array();
  var weburl  = new Array();
  var mail    = new Array();
  var beeld   = new Array();
  var breed   = new Array();
  var hoog    = new Array();
  var i = 0;
  var telmndtm;
  var teljrtm;
  var tmpdat, dagnrva, dagnrtm, dagva, dagtm, maandva, maandtm, jaarva, jaartm;
  vul_agenda_arrays(toon, datumva, datumtm, waar_nl, waar_en, wat_nl, wat_en, info_nl, info_en, website, weburl, mail, beeld, breed, hoog, i, telmndtm, teljrtm);

//
//
  var datum;
  var waar;
  var maand;

  dagen = dagen_nl;
  maanden = maanden_nl;
  dagkort = dagkort_nl;
  if ( taal == "en" )
  {
    dagen = dagen_en;
    maanden = maanden_en;
    dagkort = dagkort_en;
  }

  if ( ditjaar < 1900 ) { ditjaar += 1900; }
  if ( dezemnd < 10 )   { dezemnd = "0" + dezemnd; }
  if ( dezedag < 10 )   { dezedag = "0" + dezedag; }
  var vergdat = ditjaar + "" + dezemnd + "" + dezedag;

  for( idx = 0; idx < wat_nl.length; idx++)
  {
    if ( toon[idx] == "nee" )
    {
      continue;
    }

    if ( datumtm[idx] < vergdat )
    {
      continue;
    }

/*  splits datumva[idx] en datumtm[idx] in dag - maand - jaar, en bepaal dagnummer in de week (1=maandag, .., 7=zondag) */

    if ( datumva[idx] == 0 )
    {
      jaarva  = 0;
      maandva = 0;
      dagva   = 0;
      dagnrva = 0;
    }
    else
    {
      tmpdat  = datumva[idx];
      jaarva  = Math.floor( tmpdat / 10000 ); tmpdat = tmpdat - (10000 * jaarva);
      maandva = Math.floor( tmpdat / 100 );   tmpdat = tmpdat - (100   * maandva);
      dagva   = tmpdat;
      dagnrva = bepaal_dagnr( dagva, maandva, jaarva );
    }

    tmpdat  = datumtm[idx];
    jaartm  = Math.floor( tmpdat / 10000 ); tmpdat = tmpdat - (10000 * jaartm);
    maandtm = Math.floor( tmpdat / 100 );   tmpdat = tmpdat - (100   * maandtm);
    dagtm   = tmpdat;
    dagnrtm = bepaal_dagnr( dagtm, maandtm, jaartm );

    telmndtm = maandva;
    teljrtm  = jaarva;

    if ( maandva == 0 )
    {
      telmndtm = maandtm;
      teljrtm  = jaartm;
    }

    maandnaam( telmndva, teljrva, telmndtm, teljrtm );
    telmndva = telmndtm + 1;
    if ( telmndva > 12 )
    {
      telmndva = telmndva - 12;
    }

    datum = "";
    maand = "";
    if ( datumva[idx] != 0 )
    {
      datum = datum + dagen[dagnrva] + " " + dagva + " ";
      if ( maandva != maandtm || jaarva != jaartm )
      {
        datum = datum + maanden[maandva] + " ";
      }
      if ( jaarva != jaartm )
      {
        datum = datum + jaarva + " ";
      }
      datum = datum + " - ";
      maand = maanden[maandva] + jaarva;
    }
    datum = datum + dagen[dagnrtm] + " " + dagtm + " ";
    datum = datum + maanden[maandtm] + " " + jaartm;

    if ( maand == "" )
    {
      maand = maanden[maandtm] + jaartm;
    }

    var waar = waar_nl[idx];
    var wat  = wat_nl[idx];
    var info = info_nl[idx];
    if ( taal == "en" )
    {
      waar = waar_en[idx];
      wat  = wat_en[idx];
      info = info_en[idx];
    }
    if ( info != "" )
    {
      info = info + "<br>";
    }

    if ( datumva[idx] == 0 )
    {
      dagnrva = dagnrtm;
      dagva   = dagtm;
      maandva = maandtm;
      jaarva  = jaartm;
    }

    document.write(
      "<table width=90% cellspacing=0 cellpadding=10 border=0>" +
      "  <tr valign=top>" +
      "    <td width=10></td>" +
      "    <td width=20%>" +
      "");

    kalender( dagva, maandva, jaarva, dagtm, maandtm, jaartm )

    document.write(
      "    </td>" +
      "    <td>" +
      "      <b>" + datum + "<br>" + waar + ": <font color=800000>" + wat + "</font></b><br>" + info
      );

    if ( mail[idx] != null && mail[idx] != "" )
    {
      document.write(
	"E-mail: <a href=mailto:" + mail[idx] + 
	">" + mail[idx] +
	"</a><br>"
	);
    }

    if ( weburl[idx] == null )
    {
      weburl[idx] = website[idx];
    }
    if ( website[idx] != null && website[idx] != "" )
    {
      document.write(
	"Website / info: <a href=\"" + weburl[idx] + 
	"\" target=_blank>" + website[idx] +
	"</a><br>"
	);
    }

    document.write( "</td>" );

    if ( beeld[idx] != null && beeld[idx] != "" )
    {
      document.write(
        "    <td align=right>" +
        "      <img src=" + beeld[idx] + " width=" + breed[idx] + " height=" + hoog[idx] + " border=0>" +
        "    </td>" );
    }

    document.write(
      "  </tr>" +
      "</table>"
      );
  }
  maandnaam( maanden, telmndva, teljrva, toonmndtm, toonjrtm );
}

function maandlijst( taal )
{
  maanden = maanden_nl;
  if ( taal == "en" )
  {
    maanden = maanden_en;
  }

  var vandaag = new Date();
  var ditjaar = vandaag.getYear();
  if ( ditjaar < 1900 )
  {
    ditjaar += 1900;
  }
  var dezemnd = vandaag.getMonth() + 1;
  var dezedag = vandaag.getDate();

  document.write( "<center>" );

  if ( taal == "nl" )
  {
    document.write(
      "<p>" +
      "<img src=worm.gif width=22 height=33 border=0>" +
      "<b> &nbsp; vanaf &nbsp; <font size=+2>" + dezedag + " " + maanden[ dezemnd ] + " " + ditjaar + "</font> &nbsp; </b>" +
      "<img src=worm.gif width=22 height=33 border=0>" +
      "<p>Informatie voor deze agenda kun je sturen aan<br>" +
      "<center>" +
      "<a href=\"&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#97;&#103;&#101;&#110;&#100;&#97;&#64;&#97;&#107;&#114;&#111;&#98;&#97;&#116;&#105;&#101;&#107;&#46;&#110;&#101;&#116;\"" +
      "onMouseOver=\"sel_mail.src=on_mail.src; return true\"" +
      "onMouseOut=\"sel_mail.src=off_mail.src; return true\">" +
      "<img src=\"../afbeeld/mail_off.gif\" name=\"sel_mail\"" +
      "alt=\"[ E-mail ]\" width=110 height=30 border=0><br>" +
      "&#97;&#103;&#101;&#110;&#100;&#97;&#64;&#97;&#107;&#114;&#111;&#98;&#97;&#116;&#105;&#101;&#107;&#46;&#110;&#101;&#116;</a>" +
      "</center>"
      );
  }

  if ( taal == "en" )
  {
    document.write(
      "<p>" +
      "<img src=worm.gif width=22 height=33 border=0>" +
      "<b> &nbsp; from &nbsp; <font size=+2>" + dezedag + " " + maanden[ dezemnd ] + " " + ditjaar + "</font> &nbsp; </b>" +
      "<img src=worm.gif width=22 height=33 border=0>" +
      "<p>Information for this agenda can be send to<br>" +
      "<center>" +
      "<a href=\"mailto:&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#97;&#103;&#101;&#110;&#100;&#97;&#64;&#97;&#107;&#114;&#111;&#98;&#97;&#116;&#105;&#101;&#107;&#46;&#110;&#101;&#116;\"" +
      "onMouseOver=\"sel_mail.src=on_mail.src; return true\"" +
      "onMouseOut=\"sel_mail.src=off_mail.src; return true\">" +
      "<img src=\"../afbeeld/mail_off.gif\" name=\"sel_mail\"" +
      "alt=\"[ E-mail ]\" width=110 height=30 border=0><br>" +
      "&#97;&#103;&#101;&#110;&#100;&#97;&#64;&#97;&#107;&#114;&#111;&#98;&#97;&#116;&#105;&#101;&#107;&#46;&#110;&#101;&#116;</a>" +
      "</center>"
      );
  }

  var telva = 1;
  var teltm = (12 * (toonjrtm - toonjrva)) + toonmndtm - toonmndva + 1;
  var mnd = toonmndva;
  var jaar = toonjrva;

  document.write( "<p>" );
  for( jdx = telva; jdx <= teltm; jdx++)
  {
    document.write( "| <a href=#" + maanden[ mnd ] + jaar + ">" + maanden[ mnd ] + "</a> |" );

    mnd++;
    if ( mnd > 12 )
    {
      mnd = 1;
      jaar++;
    }
  }

  document.write( "</center>" );
}

function get_vergdat()
{
  return( vergdat );
}

function maandnaam( mndva, jaarva, mndtm, jaartm )
{
  var telva = 1;
  var teltm = (12 * (jaartm - jaarva)) + mndtm - mndva + 1;

  for( jdx = telva; jdx <= teltm; jdx++)
  {
    document.write( 
      "<table width=90% cellspacing=0 cellpadding=0 border=0>" +
      "  <tr valign=top>" +
      "    <td>" +
      "      <hr><a name=" + maanden[ mndva ] + jaarva + "></a>" +
      "      <font size=+1><b>" + maanden[ mndva ] + " " + jaarva + "</b></font>" +
      "    </td>" +
      "  </tr>" +
      "</table>"
      );

    mndva++;
    if ( mndva > 12 )
    {
      mndva = 1;
      jaarva++;
      teljrva++;
    }
  }
}

function kalender( datva, mndva, jrva, dattm, mndtm, jrtm )
{
  var teldag;
  var kaltxt;
  var colwknd = "c0c0c0";

  document.write(
    "<table cellspacing=2 cellpadding=0 border=1>" +
    "  <tr valign=middle align=center>" +
/*
    "    <td colspan=7>" + maanden[mndva] + " " + jrva + "</td></tr>" +
    "  <tr valign=middle align=center>" +
*/
    "");

  for ( jdx = 1; jdx <= 7; jdx++ )
  {
    kaltxt = "    <td";
    if ( jdx >= 6 )
    {
      kaltxt = kaltxt + " bgcolor=" + colwknd;
    }
    kaltxt = kaltxt + "><font size=-1>" + dagkort[jdx] + "    </td>";
    document.write( kaltxt );
  }

  document.write(
    "  </tr>" +
    "  <tr valign=middle align=center>" +
    "");

  var markdag;
  var actie = "";
  teldag = 1;
  var curmnd = mndva;
  var curjr = jrva;
  var mndstrt = 2 - bepaal_dagnr( 1, curmnd, curjr );

  if ( mndstrt == 2 )
  {
    mndstrt = -5;
  }

  for ( curdat = mndstrt; actie != "stop"; )
  {
    markdag = "nee";
    if ( jrva == jrtm )
    {
      if ( mndva == mndtm )
      {
	if ( curdat >= datva && curdat <= dattm )
	{
	  markdag = "ja";
	}
      }
      if ( mndva < mndtm )
      {
	if ( (curmnd == mndva && curdat >= datva)
	  || (curmnd > mndva  && curmnd < mndtm)
	  || (curmnd == mndtm && curdat <= dattm)
	   )
	{
	  markdag = "ja";
	}
      }
    }
    if ( jrva < jrtm )
    {
      if ( (curjr == jrva && curmnd == mndva && curdat >= datva)
	|| (curjr == jrva && curmnd > mndva)
	|| (curjr > jrva && curjr < jrtm)
	|| (curjr == jrtm && curmnd < mndtm)
	|| (curjr == jrtm && curmnd == mndtm && curdat <= dattm)
	 )
      {
	markdag = "ja";
      }
    }

    kaltxt = "<td";
    if ( markdag == "ja" )
    {
      kaltxt = kaltxt + " bgcolor=800000><font color=white";
    }
    else if ( teldag >= 6 )
    {
      kaltxt = kaltxt + " bgcolor=" + colwknd;
    }

    kaltxt = kaltxt + "><font size=-1>";

    if ( curdat > 0 )
    {
      kaltxt = kaltxt + curdat;
    }
    else
    {
      kaltxt = kaltxt + "&nbsp;";
    }
    kaltxt = kaltxt + "</td>";

    document.write( kaltxt );

    teldag++;
    if ( teldag > 7 )
    {
      document.write(
        "  </tr>" +
        "  <tr valign=middle align=center>" +
        "");
      teldag = 1;
    }

    curdat++;
    var dagen_per_mnd = maanddagen[curmnd];
    if ( jrva == jrtm )
    {
      if ( curmnd == 2 && modulo( curjr, 4 ) == 0 )
      {
        dagen_per_mnd += 1;
      }
      if ( mndva == mndtm && curdat > dagen_per_mnd )
      {
	actie = "stop";
      }
      if ( mndva < mndtm )
      {
	if ( curdat > dagen_per_mnd )
	{
	  curdat = 1;
	  curmnd++;
        }
	if ( curmnd == mndtm && curdat > dattm )
	{
	  actie = "stop";
	}
      }
    }
    if ( jrva < jrtm )
    {
      if ( curdat > dagen_per_mnd )
      {
	curdat = 1;
	curmnd++;
	if ( curmnd > 12 )
	{
	  curmnd = 1;
	  curjr++;
	}
      }
      if ( curjr == jrtm && curmnd == mndtm && curdat > dattm )
      {
	actie = "stop";
      }
    }
  }

  if ( teldag > 1 )
  {
    for ( ; teldag <= 7; teldag++ )
    {
      document.write( "    <td>" + "&nbsp;" + "</td>" );
    }
  }

  document.write(
    "  </tr>" +
    "</table>" +
    "");
}

function bepaal_dagnr( dag, mnd, jr )
{
  var dagnr;
  var num = dag;
  var jrdiff;
  var mod;

  for ( jdx = 1; jdx < mnd; jdx++ )
  {
    num += maanddagen[jdx];
  }

  jrdiff = jr - 2000;
  num += jrdiff;

  if ( mnd > 2 )
  {
    mod = modulo( jrdiff, 4 );
    if ( mod == 0 )
    {
/*    schrikkeljaar */
      num += 1;
    }
  }

// aantal schrikkeljaren sinds 2005 
  num += Math.floor( (jr - 2005)/4);

  dagnr = modulo( num, 7 );
  return( dagnr );
}

function modulo( getal, basis )
{
  var res;

  res = Math.floor( getal - (basis * Math.floor(getal/basis) ) );
  return( res );
}