﻿

//array für Tage & MOnate
akt_Tage=new Array("D","L","M","M","G","V","S");
akt_Monate=new Array("Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio",
                     "Agosto","Settembre","Ottobre","Novembre","Dicembre");
akt_MTage=new Array(31,28,31,30,31,30,31,31,30,31,30,31);
akt_MonatbeginT=new Array(0,0,0,0,0,0,0,0,0,0,0,0);

//aktuelle Jahr, WochenTag, Tag(1-31), Jahr
var akt_JahrT;
var akt_WochenT;
var akt_Tag;
var akt_Monat;
var akt_Jahr;
var plus_Monat; //was dazu gezählt wird
var plus_Jahr; //was dazu gezählt wird
plus_Monat = 0;
plus_Jahr = 0;
var welches; //variable für übergabe bei aufruf des Kalenders(wohin das Datum gespeichert wird(z.b. Textfeld BLA))
var formularName;
var xPosition;
var yPosition;

function inizialisiere()
{
  var jetzt=new Date();
  akt_WochenT=jetzt.getDay();
  akt_Tag=jetzt.getDate();
  akt_Monat=jetzt.getMonth();
  akt_Jahr=jetzt.getYear();
  if (akt_Jahr<1900)
    akt_Jahr+=1900;
    
}

inizialisiere()

//falls ein Schaltjahr..
function SchaltJahr(Jahr)
{
  var SchaltJahr=0;
  if (Jahr%4==0)
    SchaltJahr=1;
  if (Jahr%100==0)
    SchaltJahr=0;
  if (Jahr%400==0)
    SchaltJahr=1;
  return SchaltJahr;
}

//wenn Schaltjahr...
function akt_JahrT(Jahr)
{
  var TageDesJahres=365;
  if (SchaltJahr(Jahr)==1)
    TageDesJahres=366;
  return TageDesJahres;
}

//falls februar
function februar(Jahr)
{
  akt_MTage[1]=28;
  if (SchaltJahr(Jahr)==1)
    akt_MTage[1]=29;
}

//Jahr anpassen 371 Weil 365 + (7-1) wochentage
function akt_JahrAnpassen(Jahr)
{
  var diff_Tage=371-(akt_Tag-1);
  var this_Jahr=Jahr;
  var AnfangsWochenTag;
  var i;
  februar(akt_Jahr);
  for (i=0; i<akt_Monat; i++)
    diff_Tage-=akt_MTage[i];
  while (this_Jahr<akt_Jahr)
  {
    diff_Tage+=371-akt_JahrT(this_Jahr);
    this_Jahr++;
  }
  while (this_Jahr>akt_Jahr)
  {
    this_Jahr--;
    diff_Tage+=akt_JahrT(this_Jahr);
  }
  AnfangsWochenTag=(diff_Tage+akt_WochenT)%7;
  februar(Jahr);
  for (i=0;i<12;i++)
  {
    akt_MonatbeginT[i]=AnfangsWochenTag;
    AnfangsWochenTag=(AnfangsWochenTag+akt_MTage[i])%7;
  }
}
//Tag ändern(die Variable LV am anfang...)
function changeDay(Jahr,Monat,Tag,Tag2)
{
  
  if ((Tag>0)&&(Tag<=akt_MTage[Monat]))
  {
   	document.getElementById(Tag2).firstChild.data = Tag;
    document.getElementById("Href"+Tag2).setAttribute("href","/bw/date.asp?monat="+Monat);
  }
  else
  {
     document.getElementById(Tag2).firstChild.data = "";
  }
}

function changeMonat(Jahr,Monat)
{
    MonthName = akt_Monate[Monat];
	document.getElementById("mon").firstChild.data = akt_Monate[Monat] + " " + Jahr;
	
  var i,j,k;

  var hv2;
  hv2 = 1;
  
  k=-akt_MonatbeginT[Monat]+2;
  if (k>1)
   	k=k-7;
  for (j=0;j<42;j++)
  {
  	changeDay(Jahr,Monat,k,hv2);
  	//document.getElementById(hv2).firstChild.data = k;
  	k++;
  	hv2++;
  }

}


//ob next oder prev gedrückt wurde
function nextprev(w) {
	
	switch(w) {
	 case "prev":
	 	//falls neues Jahr
	 	if(akt_Monat + plus_Monat  == 0) {
	 	
		 plus_Monat = 11-akt_Monat;   
		 plus_Jahr = plus_Jahr-1;
		 akt_JahrAnpassen(akt_Jahr+plus_Jahr);
		 } else {
		 plus_Monat = plus_Monat-1;
		 
		akt_JahrAnpassen(plus_Jahr+akt_Jahr);
		
		}
		
	 break;
	 case "next":
	 	//falls neues Jahr
	 	if(akt_Monat + plus_Monat == 11) {
		 plus_Monat = -akt_Monat;
		 plus_Jahr = plus_Jahr+1;
		 akt_JahrAnpassen(plus_Jahr+akt_Jahr);
		 } else {
		 plus_Monat = plus_Monat+1;
		 
		akt_JahrAnpassen(plus_Jahr+akt_Jahr);
		
		}
		
	 break;
	 
	 
	 
	}
	
	changeMonat(plus_Jahr+akt_Jahr,plus_Monat+akt_Monat);

	
}



// browser erkennung 
var agt=navigator.userAgent.toLowerCase();
var is_ie = (agt.indexOf("msie") != -1);
var is_nn = (agt.indexOf("netscape") != -1);
var is_op = (agt.indexOf("opera") != -1);
var is_ff = (agt.indexOf("firefox") != -1);
if(is_op) {
is_ie = false;
is_nn = false;
is_ff = false;
}


// kalender positionieren und öffnen
function opencal(_welches,_formularName,_xPosition,_yPosition) {
	//document.write(_welches);  //MUSSS STIMMEN!!! TESTET
	welches = _welches; 
	formularName = _formularName;
	xPosition = _xPosition;
	yPosition = _yPosition;
	  //document.write(welches);
	 if (is_ie) { 
    //oeffnewindow(window.event.clientX,window.event.clientY); 
    oeffnewindow(xPosition-1,yPosition); 
    } else { 
    document.onclick = toolopener_ne; 
    } 
} 

function toolopener_ne(e) { 
   // oeffnewindow(e.pageX,e.pageY); 
    oeffnewindow(xPosition,yPosition); 
    document.onclick = false; 
} 

function leftwindow(x,width) {
    if (is_ie) {
        if(document.body.offsetWidth < x+width) {
         var left = x-width;
         } else {
         var left = x;
         }
    }
    else {
        if(window.innerWidth < x+width) {
         var left = x-width;
         } else {
         var left = x;
         }
    }
    return left; 
} 

function topwindow(y,height) { 
    if (is_ie) { 
        if(document.body.offsetHeight < y+height) { 
         var top = y-height; 
         } else { 
         var top = y; 
         } 
    }
    else { 
        if(window.innerHeight < y+height) { 
         var top = y-height; 
         } else { 
         var top = y; 
         } 
    }
    return top; 
}
//Kalender öffnen
function oeffnewindow(x,y) {
    var width = eval(document.getElementById("menueKalender").style.width.slice(0,-2));
    var height = eval(document.getElementById("menueKalender").style.height.slice(0,-2));
    var left = leftwindow(x,width); 
    var top = topwindow(y,height);
    document.getElementById("menueKalender").style.left = left;
    document.getElementById("menueKalender").style.top = top;
    document.getElementById("menueKalender").style.visibility = "visible";
} 
//datum in ein Textfeld schreiben, EINS.ZWEI.DREI z.b. 01.01.2001
function write_Datum(w) {
	var eins;
	var zwei;
	var drei;
	eins = document.getElementById(w).firstChild.data;
	if(eins <= 9)
	{
		eins = "0"+eins;
	}
	zwei = plus_Monat+akt_Monat + 1;
	if(zwei <= 9)
	{
		zwei = "0"+zwei;
	}
	
	//bla = document.getElementsByName(welches).toString();
	drei = plus_Jahr+akt_Jahr;
	//document.write(welches);
	//document.meinformular.field_gueltigT_von+welches.value = eins+"."+zwei+"."+drei;
	//document.meinformular.bla.value = eins+"."+zwei+"."+drei;
	document.forms[formularName].elements[welches].value = eins+"."+zwei+"."+drei;
	document.getElementById("menueKalender").style.visibility = "hidden";


} 
function closecal() {
	document.getElementById("menueKalender").style.visibility = "hidden";
}
akt_JahrAnpassen(akt_Jahr);
changeMonat(akt_Jahr,akt_Monat);

