var t,m,j,e,d,ad,at,am,hm,ht,hj,heute,datum,td,kalobj;

function Init()
{
  d=document.forms[0];
  m=new Date().getMonth()+1;
  j=new Date().getFullYear();
  d.monat.selectedIndex=m-1;
  d.jahr.selectedIndex=j-2002;
  Kalender();
}

function Kalender()
{
 if(document.getElementById && document.getElementsByTagName || navigator.userAgent.indexOf("Opera 7")!=-1)
 {
  // Werte fuer Monat (m) und Jahr (j) auslesen
  m=parseInt(d.monat.options[d.monat.selectedIndex].value);
  j=parseInt(d.jahr.options[d.jahr.selectedIndex].value);

  // t=Anzahl der Tage im aktuellen Monat
  t=31;
  t=(new Date(j,m-1,t).getDate()==t)?t:30;
  t=(new Date(j,m-1,t).getDate()==t)?t:29;
  t=(new Date(j,m-1,t).getDate()==t)?t:28;

  // e=Wochentag des Monatsersten (0=Sonntag bis 6)
  e=new Date(j,m-1,1).getDay();

  // at=aktuelles Datum
  ad=new Date();

  ht=ad.getDate().toString();
  ht=(ht.length==2)?ht:"0"+ht;
  hm=(ad.getMonth()+1).toString();
  hm=(hm.length==2)?hm:"0"+hm;
  hj=ad.getFullYear().toString();
  heute=ht+"."+hm+"."+hj;

  kalobj=document.getElementById("kalender").getElementsByTagName("td");

  // Felder leeren
  for(i=0;i<kalobj.length;i++)
  {
    kalobj[i].style.color="#FFF";
    kalobj[i].style.backgroundColor="#FFF";
    kalobj[i].style.textDecoration="none";
    kalobj[i].firstChild.nodeValue="";
    kalobj[i].title="";
  }

  // Datumswerte einzeln abfragen, abgelaufene Tage durchstreichen, Sonntage rot markieren,
  // das jeweilige Datum mittels title als td-Tooltip setzen
  for(i=0;i<t;i++)
  {
    if(e==0)k=i+6;
    else k=i+e-1;

    kalobj[k].style.fontWeight="normal";
    kalobj[k].firstChild.nodeValue=i+1;

    td=new Date(j,m-1,i+2);
    if(td-ad>=0)kalobj[k].style.color="#00C";
    else {kalobj[k].style.color="#000";kalobj[k].style.textDecoration="line-through";}
    if(k>0 && k % 7 == 0)kalobj[k-1].style.color="#F00";
    if(k==34)kalobj[k].style.color="#F00";

    at=(i+1).toString();
    at=(at.length==2)?at:"0"+at;
    am=m.toString();
    am=(am.length==2)?am:"0"+am;
    datum=at+"."+am+"."+j
    kalobj[k].title=datum;

    // aktuellen Tag hervorheben
    if(datum==heute){kalobj[k].style.color="#090";kalobj[k].style.fontWeight="bold";}
  }

  if(kalobj[28].firstChild.nodeValue=="")document.getElementsByTagName("tr")[6].style.display="none";
  else if(document.all)document.getElementsByTagName("tr")[6].style.display="block";
  else document.getElementsByTagName("tr")[6].style.display="table-row";
 }
}

function TagMarkieren(par)
{
  // fuer IE
  if(par==1 && window.event)
  {
    if(window.event.srcElement.tagName=="TD")
    {
      // bei MouseOver Hintergrundfarbe aendern
      if(window.event.srcElement.firstChild.nodeValue!="")window.event.srcElement.style.backgroundColor="#CFC";
    }
  }
  else if(par==0 && window.event && window.event.srcElement.tagName=="TD")window.event.srcElement.style.backgroundColor="#FFF";
}

function Datum2Textfeld(datum,lt)
{
  if(datum!="" && lt=="none")document.forms[1].elements[0].value=datum;
}
