// Global Variable
var lang;

// en = english, es=spanish, de=german
function set_lang (language)
{
  lang = language;
  // alert (lang);
}


function daysinmonth (month, year)
{
  var Stop = 31;
  if (month == 4 || month == 6 || month == 9 || month == 11)
    --Stop;
  if (month == 2) {
    Stop = Stop - 3;
    if (year % 4 == 0)
      Stop++;
    if (year % 100 == 0)
      Stop--;
    if (year % 400 == 0)
      Stop++;
  }
  return Stop;
}


function get_monthname (month)
{
  switch (lang)
  {
    case "de":
      var name = new Array("Januar", "Februar", "März", "April", "Mai", "Juni", "Juli",
                       "August", "September", "Oktober", "November", "Dezember");
      break;
    case "es":
      var name = new Array("Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio",
                       "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre");
      break;
    case "fr":
      var name = new Array("Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet",
                       "Août", "Septembre", "Octobre", "Novembre", "Décembre");
      break;
    default:
      var name = new Array("January", "February", "March", "April", "May", "June", "July",
                       "August", "September", "October", "November", "December");
      break;
  }

  month = month - 1;
  if (month < 0)
  {
    month = 11;
  }
  return name[month];
}  


function get_monthshort (month)
{
  switch (lang)
  {
    case "de":
      var name = new Array("Jan", "Feb", "Mrz", "Apr", "Mai", "Jun", "Jul",
                       "Aug", "Sep", "Okt", "Nov", "Dez");
      break;
    case "es":
      var name = new Array("Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul",
                       "Ago", "Sep", "Oct", "Nov", "Dic");
      break;
    case "fr":
      var name = new Array("Jan", "Fev", "Mar", "Avr", "Mai", "Jun", "Jul",
                       "Aou", "Sep", "Oct", "Nov", "Dec");
      break;
    default:
      var name = new Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul",
                       "Aug", "Sep", "Oct", "Nov", "Dec");
      break;
  }

  month = month - 1;
  if (month < 0)
  {
    month = 11;
  }
  return name[month];
}  


function changedate (date, days)
{
  var Absolut = date.getTime();
  Absolut = Absolut + (days * 24 * 60 * 60 * 1000);
  date.setTime(Absolut);

  return date;
}  


function dateprint (monthshift)
{
  var temp;
  var time = new Date();
  var actmonth = time.getMonth() + 1;
  var actyear = time.getYear();
  if (actyear < 2000)
  {
    actyear += 1900;
  }

  var displaymonth = actmonth + monthshift;
  var displayyear = actyear;

  if (displaymonth > 12)
  {
    displaymonth -= 12;
    ++displayyear;
  }

  temp = get_monthname (displaymonth) + ' ' + displayyear;
  return temp;
}  


function monthprint (monthshift, daystep)
{
  var beg_day, beg_mon, beg_yea, end_day, end_mon, end_yea; 
  var color = 0;

  var time = new Date();
  var actmonth = time.getMonth() + 1;
  var actyear = time.getYear();
  if (actyear < 2000)
  {
    actyear += 1900;
  }

  var displaymonth = actmonth + monthshift;
  var displayyear = actyear;

  if (displaymonth > 12)
  {
    displaymonth -= 12;
    ++displayyear;
  }

  var inittime = new Date("October 2, 2008 00:00:00");

  var startdate = new Date(displayyear, displaymonth - 1, 1, 1, 0, 0, 0);
  var enddate   = new Date(displayyear, displaymonth - 1, daysinmonth (displaymonth, displayyear) - (daystep-1), 12, 0, 0, 0);

  var daydiff = Math.floor( (startdate - inittime) / 1000 / 60 / 60 / 24 );
  var dayrest = daydiff % daystep;

  // Correction of startdate if dayrest > 0
  startdate = changedate (startdate, -dayrest);


  // Begin of Table
  document.write ('<table width="177" border="0" cellspacing="0" cellpadding="0" valign="top">');
  document.write ('<tr><td height="1" valign="top" bgcolor="#FFFFFF" colspan="3"></td></tr>');

  // document.write ('<tr><td align="left" bgcolor="#ffffff" valign="middle" width="1"></td>');
  // document.write ('<td style="padding-left: 5px;" align="left" height="20" valign="middle" width="170">');
  // document.write ('<strong>' + get_monthname (displaymonth) + ' ' + displayyear + '</strong></td>');
  // document.write ('<td align="left" bgcolor="#ffffff" valign="top" width="1"></td></tr>');
  // document.write ('<tr><td colspan="3" bgcolor="#ffffff" height="1" valign="middle"></td></tr>');

  document.write ('<tr><td bgcolor="#ffffff" width="1"></td>');
  document.write ('<td valign="middle" width="175">');
  document.write ('<table border="0" cellpadding="0" cellspacing="0" width="100%" valign="top">');
  document.write ('<tbody>');

  while (startdate <= enddate)
  {

    beg_day = startdate.getDate(); 
    beg_mon = startdate.getMonth() + 1;
    beg_yea = startdate.getYear();
    if (beg_yea < 2000)
    {
      beg_yea += 1900;
    }

    startdate = changedate (startdate, daystep-1);

    end_day = startdate.getDate(); 
    end_mon = startdate.getMonth() + 1;
    end_yea = startdate.getYear();
    if (end_yea < 2000)
    {
      end_yea += 1900;
    }

    startdate = changedate (startdate, 1);

    document.write ('<tr>');

    if (color == 0)
    {
      document.write ('<td style="line-height: 140%; padding-left: 5px;">');
      color = 1;
    }
    else
    {
      document.write ('<td style="line-height: 140%; padding-left: 5px;" bgcolor="#ffff99">');
      color = 0;
    }
    document.write (beg_day + ' ' + get_monthshort (beg_mon) + ' ' + beg_yea + ' - ');
    document.write (end_day + ' ' + get_monthshort (end_mon) + ' ' + end_yea);
    document.write ('</td></tr>');

  }

  // End of Table
  document.write ('</tbody></table></td>');

  document.write ('<td width="1" height="80" align="left" valign="middle" bgcolor="#FFFFFF"></td></tr>');
  document.write ('<tr><td height="1" valign="top" bgcolor="#FFFFFF" colspan="3"></td></tr>');
  document.write ('</table>');

}  


