     
   wochentage = new Array("Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag");
   monate = new Array("Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember");
   monate_kurz = new Array("Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez");
   
   // Array, um Texte anzusprechen (function show_hide)
   visible = new Array();
   for (i=0;i<39;i++) {
    visible[i] = false;	
   } 
   
   // Grafiken vorladen für show bzw. hide-Funktionen
   var gr_plus = new Image();
   gr_plus.src = "../../images/schw_kalend_auf.png";
   var gr_minus = new Image();
   gr_minus.src = "../../images/schw_kalend_zu.png";
   

   
   function calculate() {
   
    day = parseInt(document.formular.day.options[document.formular.day.selectedIndex].value);
    month = parseInt(document.formular.month.options[document.formular.month.selectedIndex].value);
    year = parseInt(document.formular.year.options[document.formular.year.selectedIndex].value);
    period = document.formular.period.options[document.formular.period.selectedIndex].value;
    entered_date = new Date(year,month,day,0,0,0);


	// Schaltjahr-Berechnung
    a = year % 4; // wenn Rest Null, dann Schaltjahr
    b = year % 100; // wenn Rest Null, dann kein Schaltjahr
    c = year % 400; // wenn Rest Null, dann trotzdem Schaltjahr

    // Catch entry errors
      if (isNaN(day)) {
		alert("Bitte Tag angeben");
      }
      else if (isNaN(month)) {
		alert("Bitte Monat angeben");
	  }
	  else if (isNaN(year)) {
		alert("Bitte Jahr angeben");
	  }
	  else if (day > 29 && month == 1) { 
		alert("Datum existiert nicht");
	  }
	  else if (day > 28 && month == 1 && (a != 0 || a == 0 && b == 0 || a == 0 && b == 0 && c != 0)) {
		alert("Datum existiert nicht");
	  }
	  else if (day > 30 && (month == 1 || month == 3 || month == 5 || month == 8 || month == 10)) {
		alert("Datum existiert nicht");
	  }
      else {
        
     // Ergebnis wird sichtbar
        show('result'); 
		show('navi');
       
    // Calculation
        
        // Eisprungwkt
    if (document.getElementById('sp_eispr_ter')) {
	    eispr_ter_unform = entered_date.getTime() + (1000*60*60*24*period) - (1000*60*60*24*13.5);
	    eispr_ter = new Date(eispr_ter_unform);
	    document.getElementById('sp_eispr_ter').innerHTML = wochentage[eispr_ter.getDay()]+", der "+eispr_ter.getDate() +". "+monate[eispr_ter.getMonth()]+" "+eispr_ter.getFullYear();
	}
        
        // Fruchtbare Tage
    if (document.getElementById('sp_fr_t_anf') && document.getElementById('sp_fr_t_end')) {
	    fr_t_anf_unform = eispr_ter_unform - (1000*60*60*24*3);
	    fr_t_anf = new Date(fr_t_anf_unform);
	    fr_t_end_unform = eispr_ter_unform + (1000*60*60*24*3);
	    fr_t_end = new Date(fr_t_end_unform);
	    document.getElementById('sp_fr_t_anf').innerHTML = fr_t_anf.getDate() +". "+monate_kurz[fr_t_anf.getMonth()]+" "+fr_t_anf.getFullYear();
	    document.getElementById('sp_fr_t_end').innerHTML = fr_t_end.getDate() +". "+monate_kurz[fr_t_end.getMonth()]+" "+fr_t_end.getFullYear();
	}
        
        // Schwangerschaftstest ca. 9 Tage nach Eisprung (Bluttest) bzw. nach zwei Wochen (Urintest)
    if (document.getElementById('sp_sch_te')) {
        sch_te_unform = eispr_ter_unform + (1000*60*60*24*9);
        sch_te = new Date(sch_te_unform);
        document.getElementById('sp_sch_te').innerHTML = wochentage[sch_te.getDay()]+", der "+sch_te.getDate() +". "+monate[sch_te.getMonth()]+" "+sch_te.getFullYear();
    }
		        
        // Herz beginnt zu schlagen 5. Woche
    if (document.getElementById('sp_her_sch')) {
		her_sch_unform = entered_date.getTime() + (1000*60*60*24*7*4) + (1000*60*60*24);
		her_sch = new Date(her_sch_unform);
		document.getElementById('sp_her_sch').innerHTML = wochentage[her_sch.getDay()]+", der "+her_sch.getDate() +". "+monate[her_sch.getMonth()]+" "+her_sch.getFullYear();
	}
        
		// Erstuntersuchung 5.-7. Woche
	if (document.getElementById('sp_ers_unt_anf') && document.getElementById('sp_ers_unt_end')) {
        ers_unt_anf_unform = entered_date.getTime() + (1000*60*60*24*7*4) + (1000*60*60*24);
	    ers_unt_anf = new Date(ers_unt_anf_unform);
		ers_unt_end_unform = entered_date.getTime() + (1000*60*60*24*7*7);
		ers_unt_end = new Date(ers_unt_end_unform);
		document.getElementById('sp_ers_unt_anf').innerHTML = ers_unt_anf.getDate() +". "+monate_kurz[ers_unt_anf.getMonth()]+" "+ers_unt_anf.getFullYear();
		document.getElementById('sp_ers_unt_end').innerHTML = ers_unt_end.getDate() +". "+monate_kurz[ers_unt_end.getMonth()]+" "+ers_unt_end.getFullYear();
	}
        
		// Vorsorgeuntersuchung 1 9.-11. Woche 
	if (document.getElementById('sp_vor_unt1_anf') && document.getElementById('sp_vor_unt1_end')) {
		vor_unt1_anf_unform = entered_date.getTime() + (1000*60*60*24*7*8) + (1000*60*60*24);
		vor_unt1_anf = new Date(vor_unt1_anf_unform);
		vor_unt1_end_unform = entered_date.getTime() + (1000*60*60*24*7*11);
		vor_unt1_end = new Date(vor_unt1_end_unform);
		document.getElementById('sp_vor_unt1_anf').innerHTML = vor_unt1_anf.getDate() +". "+monate_kurz[vor_unt1_anf.getMonth()]+" "+vor_unt1_anf.getFullYear();
		document.getElementById('sp_vor_unt1_end').innerHTML = vor_unt1_end.getDate() +". "+monate_kurz[vor_unt1_end.getMonth()]+" "+vor_unt1_end.getFullYear();
	}
		
		// erste Ultraschalluntersuchung 9.-12. Woche
	if (document.getElementById('sp_zt_ult_anf') && document.getElementById('sp_zt_ult_end')) {
		zt_ult_anf_unform = entered_date.getTime() + (1000*60*60*24*7*8) + (1000*60*60*24);
	    zt_ult_anf = new Date(zt_ult_anf_unform);
		zt_ult_end_unform = entered_date.getTime() + (1000*60*60*24*7*12);
		zt_ult_end = new Date(zt_ult_end_unform);
		document.getElementById('sp_zt_ult_anf').innerHTML = zt_ult_anf.getDate() +". "+monate_kurz[zt_ult_anf.getMonth()]+" "+zt_ult_anf.getFullYear();
		document.getElementById('sp_zt_ult_end').innerHTML = zt_ult_end.getDate() +". "+monate_kurz[zt_ult_end.getMonth()]+" "+zt_ult_end.getFullYear();
   }
		
		// Chorionzottenbiopsie 9.-13. Woche
	if (document.getElementById('sp_ch_zo_anf') && document.getElementById('sp_ch_zo_end')) {
		ch_zo_anf_unform = entered_date.getTime() + (1000*60*60*24*7*8) + (1000*60*60*24);
	    ch_zo_anf = new Date(ch_zo_anf_unform);
		ch_zo_end_unform = entered_date.getTime() + (1000*60*60*24*7*13);
		ch_zo_end = new Date(ch_zo_end_unform);
		document.getElementById('sp_ch_zo_anf').innerHTML = ch_zo_anf.getDate() +". "+monate_kurz[ch_zo_anf.getMonth()]+" "+ch_zo_anf.getFullYear();
		document.getElementById('sp_ch_zo_end').innerHTML = ch_zo_end.getDate() +". "+monate_kurz[ch_zo_end.getMonth()]+" "+ch_zo_end.getFullYear();
	}
		
		// Fötus komplett ausgebildet ab 12. Woche
	if (document.getElementById('sp_fo_ko')) {
		fo_ko_unform = entered_date.getTime() + (1000*60*60*24*7*11) + (1000*60*60*24);
		fo_ko = new Date(fo_ko_unform);
		document.getElementById('sp_fo_ko').innerHTML  = wochentage[fo_ko.getDay()]+" , der "+fo_ko.getDate() +". "+monate[fo_ko.getMonth()]+" "+fo_ko.getFullYear();
	}
		
		// Nackentransparenzmessung 12.-14. Woche
	if (document.getElementById('sp_na_tr_anf') && document.getElementById('sp_na_tr_end')) {
		na_tr_anf_unform = entered_date.getTime() + (1000*60*60*24*7*11) + (1000*60*60*24);
	    na_tr_anf = new Date(na_tr_anf_unform);
		na_tr_end_unform = entered_date.getTime() + (1000*60*60*24*7*14);
		na_tr_end = new Date(na_tr_end_unform);
		document.getElementById('sp_na_tr_anf').innerHTML = na_tr_anf.getDate() +". "+monate_kurz[na_tr_anf.getMonth()]+" "+na_tr_anf.getFullYear();
		document.getElementById('sp_na_tr_end').innerHTML = na_tr_end.getDate() +". "+monate_kurz[na_tr_end.getMonth()]+" "+na_tr_end.getFullYear();
	}
		
		// letzter Abtreibungstermin nach 12. Woche
	if (document.getElementById('sp_abtr_ter')) {
	    abtr_ter_unform = entered_date.getTime() + (1000*60*60*24*7*12);
	    abtr_ter = new Date(abtr_ter_unform);
	    document.getElementById('sp_abtr_ter').innerHTML = wochentage[abtr_ter.getDay()]+" , der "+abtr_ter.getDate() +". "+monate[abtr_ter.getMonth()]+" "+abtr_ter.getFullYear();
	}
	    	    		
		// Vorsorgeuntersuchung 2 13.-15. Woche
	if (document.getElementById('sp_vor_unt2_anf') && document.getElementById('sp_vor_unt2_end')) {
		vor_unt2_anf_unform = entered_date.getTime() + (1000*60*60*24*7*12) + (1000*60*60*24);
		vor_unt2_anf = new Date(vor_unt2_anf_unform);
		vor_unt2_end_unform = entered_date.getTime() + (1000*60*60*24*7*15);
		vor_unt2_end = new Date(vor_unt2_end_unform);
		document.getElementById('sp_vor_unt2_anf').innerHTML = vor_unt2_anf.getDate() +". "+monate_kurz[vor_unt2_anf.getMonth()]+" "+vor_unt2_anf.getFullYear();
		document.getElementById('sp_vor_unt2_end').innerHTML = vor_unt2_end.getDate() +". "+monate_kurz[vor_unt2_end.getMonth()]+" "+vor_unt2_end.getFullYear();
	}
		
		// Amniozentese 13.-19. Woche
	if (document.getElementById('sp_am_ze_anf') && document.getElementById('sp_am_ze_end')) {
	    am_ze_anf_unform = entered_date.getTime() + (1000*60*60*24*7*12) + (1000*60*60*24);
	    am_ze_anf = new Date(am_ze_anf_unform);
		am_ze_end_unform = entered_date.getTime() + (1000*60*60*24*7*19);
		am_ze_end = new Date(am_ze_end_unform);
		document.getElementById('sp_am_ze_anf').innerHTML = am_ze_anf.getDate() +". "+monate_kurz[am_ze_anf.getMonth()]+" "+am_ze_anf.getFullYear();
		document.getElementById('sp_am_ze_end').innerHTML = am_ze_end.getDate() +". "+monate_kurz[am_ze_end.getMonth()]+" "+am_ze_end.getFullYear();
	}
		
		// Zeitraum für Verreisen 13.-28. Woche
	if (document.getElementById('sp_zt_rei_anf') && document.getElementById('sp_zt_rei_end')) {
		zt_rei_anf_unform = entered_date.getTime() + (1000*60*60*24*7*12) + (1000*60*60*24);
	    zt_rei_anf = new Date(zt_rei_anf_unform);
		zt_rei_end_unform = entered_date.getTime() + (1000*60*60*24*7*28);
		zt_rei_end = new Date(zt_rei_end_unform);
		document.getElementById('sp_zt_rei_anf').innerHTML = zt_rei_anf.getDate() +". "+monate_kurz[zt_rei_anf.getMonth()]+" "+zt_rei_anf.getFullYear();
		document.getElementById('sp_zt_rei_end').innerHTML = zt_rei_end.getDate() +". "+monate_kurz[zt_rei_end.getMonth()]+" "+zt_rei_end.getFullYear();		
   }
 	    
	    // Geschlecht feststellbar ab 15. Woche
	if (document.getElementById('sp_ges_fes')) {
		ges_fes_unform = entered_date.getTime() + (1000*60*60*24*7*14) + (1000*60*60*24);;
		ges_fes = new Date(ges_fes_unform);
		document.getElementById('sp_ges_fes').innerHTML = wochentage[ges_fes.getDay()]+" , der "+ges_fes.getDate() +". "+monate[ges_fes.getMonth()]+" "+ges_fes.getFullYear();
	}
		
		// Tripletest 17.-19. Woche
	if (document.getElementById('sp_tr_te_anf') && document.getElementById('sp_tr_te_end')) {
	    tr_te_anf_unform = entered_date.getTime() + (1000*60*60*24*7*16) + (1000*60*60*24);
	    tr_te_anf = new Date(tr_te_anf_unform);
		tr_te_end_unform = entered_date.getTime() + (1000*60*60*24*7*19);
		tr_te_end = new Date(tr_te_end_unform);
		document.getElementById('sp_tr_te_anf').innerHTML = tr_te_anf.getDate() +". "+monate_kurz[tr_te_anf.getMonth()]+" "+tr_te_anf.getFullYear();
		document.getElementById('sp_tr_te_end').innerHTML = tr_te_end.getDate() +". "+monate_kurz[tr_te_end.getMonth()]+" "+tr_te_end.getFullYear();
	}
		
		// Vorsorgeuntersuchung 3 17.-19. Woche
	if (document.getElementById('sp_vor_unt3_anf') && document.getElementById('sp_vor_unt3_end')) {
		vor_unt3_anf_unform = entered_date.getTime() + (1000*60*60*24*7*16) + (1000*60*60*24);
		vor_unt3_anf = new Date(vor_unt3_anf_unform);
		vor_unt3_end_unform = entered_date.getTime() + (1000*60*60*24*7*19);
		vor_unt3_end = new Date(vor_unt3_end_unform);
		document.getElementById('sp_vor_unt3_anf').innerHTML = vor_unt3_anf.getDate() +". "+monate_kurz[vor_unt3_anf.getMonth()]+" "+vor_unt3_anf.getFullYear();
		document.getElementById('sp_vor_unt3_end').innerHTML = vor_unt3_end.getDate() +". "+monate_kurz[vor_unt3_end.getMonth()]+" "+vor_unt3_end.getFullYear();
	}
		 
		// Erste Kindbewegungen spürbar 17.-22. Woche
	if (document.getElementById('sp_kin_bew_anf') && document.getElementById('sp_kin_bew_end')) {
		kin_bew_anf_unform = entered_date.getTime() + (1000*60*60*24*7*16) + (1000*60*60*24);
		kin_bew_anf = new Date(kin_bew_anf_unform);
		kin_bew_end_unform = entered_date.getTime() + (1000*60*60*24*7*22);
		kin_bew_end = new Date(kin_bew_end_unform);
		document.getElementById('sp_kin_bew_anf').innerHTML = kin_bew_anf.getDate() +". "+monate_kurz[kin_bew_anf.getMonth()]+" "+kin_bew_anf.getFullYear();
		document.getElementById('sp_kin_bew_end').innerHTML = kin_bew_end.getDate() +". "+monate_kurz[kin_bew_end.getMonth()]+" "+kin_bew_end.getFullYear();
	}
		
		// Geburtsvorbereitung 18.-23. Woche
	if (document.getElementById('sp_geb_vor_anf') && document.getElementById('sp_geb_vor_end')) {
		geb_vor_anf_unform = entered_date.getTime() + (1000*60*60*24*7*17) + (1000*60*60*24);
		geb_vor_anf = new Date(geb_vor_anf_unform);
		geb_vor_end_unform = entered_date.getTime() + (1000*60*60*24*7*23);
		geb_vor_end = new Date(geb_vor_end_unform);
		document.getElementById('sp_geb_vor_anf').innerHTML = geb_vor_anf.getDate() +". "+monate_kurz[geb_vor_anf.getMonth()]+" "+geb_vor_anf.getFullYear();
		document.getElementById('sp_geb_vor_end').innerHTML = geb_vor_end.getDate() +". "+monate_kurz[geb_vor_end.getMonth()]+" "+geb_vor_end.getFullYear();
	}
		
		// Beginn Kopfhaar-Wachstum 19.-22. Woche
	if (document.getElementById('sp_ko_ha_anf') && document.getElementById('sp_ko_ha_end')) {
		ko_ha_anf_unform = entered_date.getTime() + (1000*60*60*24*7*18) + (1000*60*60*24);
		ko_ha_anf = new Date(ko_ha_anf_unform);
		ko_ha_end_unform = entered_date.getTime() + (1000*60*60*24*7*22);
		ko_ha_end = new Date(ko_ha_end_unform);
		document.getElementById('sp_ko_ha_anf').innerHTML = ko_ha_anf.getDate() +". "+monate_kurz[ko_ha_anf.getMonth()]+" "+ko_ha_anf.getFullYear();
		document.getElementById('sp_ko_ha_end').innerHTML = ko_ha_end.getDate() +". "+monate_kurz[ko_ha_end.getMonth()]+" "+ko_ha_end.getFullYear();
	}
		
		// zweite Ultraschalluntersuchung 19.-22. Woche
	if (document.getElementById('sp_zt_ult_anf2') && document.getElementById('sp_zt_ult_end2')) {
		zt_ult_anf_unform2 = entered_date.getTime() + (1000*60*60*24*7*18) + (1000*60*60*24);
	    zt_ult_anf2 = new Date(zt_ult_anf_unform2);
		zt_ult_end_unform2 = entered_date.getTime() + (1000*60*60*24*7*22);
		zt_ult_end2 = new Date(zt_ult_end_unform2);
		document.getElementById('sp_zt_ult_anf2').innerHTML = zt_ult_anf2.getDate() +". "+monate_kurz[zt_ult_anf2.getMonth()]+" "+zt_ult_anf2.getFullYear();
		document.getElementById('sp_zt_ult_end2').innerHTML = zt_ult_end2.getDate() +". "+monate_kurz[zt_ult_end2.getMonth()]+" "+zt_ult_end2.getFullYear();
	}
		
		// Geräusche wahrnehmen 21. Woche
	if (document.getElementById('sp_foe_ger')) {
		foe_ger_unform = entered_date.getTime() + (1000*60*60*24*7*20) + (1000*60*60*24);
		foe_ger = new Date(foe_ger_unform);
		document.getElementById('sp_foe_ger').innerHTML = wochentage[foe_ger.getDay()]+" , der "+foe_ger.getDate() +". "+monate[foe_ger.getMonth()]+" "+foe_ger.getFullYear();
	}
		
		// Vorsorgeuntersuchung 4 21.-23. Woche
	if (document.getElementById('sp_vor_unt4_anf') && document.getElementById('sp_vor_unt4_end')) {
		vor_unt4_anf_unform = entered_date.getTime() + (1000*60*60*24*7*20) + (1000*60*60*24);
		vor_unt4_anf = new Date(vor_unt4_anf_unform);
		vor_unt4_end_unform = entered_date.getTime() + (1000*60*60*24*7*23);
		vor_unt4_end = new Date(vor_unt4_end_unform);
		document.getElementById('sp_vor_unt4_anf').innerHTML = vor_unt4_anf.getDate() +". "+monate_kurz[vor_unt4_anf.getMonth()]+" "+vor_unt4_anf.getFullYear();
		document.getElementById('sp_vor_unt4_end').innerHTML = vor_unt4_end.getDate() +". "+monate_kurz[vor_unt4_end.getMonth()]+" "+vor_unt4_end.getFullYear();
	}
		
		// Glucosetoleranztest 22.-24. Woche
	if (document.getElementById('sp_gl_te_anf') && document.getElementById('sp_gl_te_end')) {
		gl_te_anf_unform = entered_date.getTime() + (1000*60*60*24*7*21) + (1000*60*60*24);
	    gl_te_anf = new Date(gl_te_anf_unform);
		gl_te_end_unform = entered_date.getTime() + (1000*60*60*24*7*24);
		gl_te_end = new Date(gl_te_end_unform);
		document.getElementById('sp_gl_te_anf').innerHTML = gl_te_anf.getDate() +". "+monate_kurz[gl_te_anf.getMonth()]+" "+gl_te_anf.getFullYear();
		document.getElementById('sp_gl_te_end').innerHTML = gl_te_end.getDate() +". "+monate_kurz[gl_te_end.getMonth()]+" "+gl_te_end.getFullYear();
	}

        // Antikörper-Suchtest für Rhesus 23.-25. Woche
    if (document.getElementById('sp_ant_rhe_anf') && document.getElementById('sp_ant_rhe_end')) {
        ant_rhe_anf_unform = entered_date.getTime() + (1000*60*60*24*7*22) + (1000*60*60*24);
		ant_rhe_anf = new Date(ant_rhe_anf_unform);
		ant_rhe_end_unform = entered_date.getTime() + (1000*60*60*24*7*25);
		ant_rhe_end = new Date(ant_rhe_end_unform);
		document.getElementById('sp_ant_rhe_anf').innerHTML = ant_rhe_anf.getDate() +". "+monate_kurz[ant_rhe_anf.getMonth()]+" "+ant_rhe_anf.getFullYear();
		document.getElementById('sp_ant_rhe_end').innerHTML = ant_rhe_end.getDate() +". "+monate_kurz[ant_rhe_end.getMonth()]+" "+ant_rhe_end.getFullYear();
	}
		
		// Blutuntersuchung 23.-25. Woche
	if (document.getElementById('sp_bl_unt_anf') && document.getElementById('sp_bl_unt_end')) {
		bl_unt_anf_unform = entered_date.getTime() + (1000*60*60*24*7*22) + (1000*60*60*24);
		bl_unt_anf = new Date(bl_unt_anf_unform);
		bl_unt_end_unform = entered_date.getTime() + (1000*60*60*24*7*25);
		bl_unt_end = new Date(bl_unt_end_unform);
		document.getElementById('sp_bl_unt_anf').innerHTML  = bl_unt_anf.getDate() +". "+monate_kurz[bl_unt_anf.getMonth()]+" "+bl_unt_anf.getFullYear();
		document.getElementById('sp_bl_unt_end').innerHTML  = bl_unt_end.getDate() +". "+monate_kurz[bl_unt_end.getMonth()]+" "+bl_unt_end.getFullYear();
	}
		
		// Vorsorgeuntersuchung 5 25.-27. Woche
	if (document.getElementById('sp_vor_unt5_anf') && document.getElementById('sp_vor_unt5_end')) {
		vor_unt5_anf_unform = entered_date.getTime() + (1000*60*60*24*7*24) + (1000*60*60*24);
		vor_unt5_anf = new Date(vor_unt5_anf_unform);
		vor_unt5_end_unform = entered_date.getTime() + (1000*60*60*24*7*27);
		vor_unt5_end = new Date(vor_unt5_end_unform);
		document.getElementById('sp_vor_unt5_anf').innerHTML = vor_unt5_anf.getDate() +". "+monate_kurz[vor_unt5_anf.getMonth()]+" "+vor_unt5_anf.getFullYear();
		document.getElementById('sp_vor_unt5_end').innerHTML = vor_unt5_end.getDate() +". "+monate_kurz[vor_unt5_end.getMonth()]+" "+vor_unt5_end.getFullYear();
	}
		
		// Geburtsvorbereitung 2 27.-31. Woche 
	if (document.getElementById('sp_geb_vor2_anf') && document.getElementById('sp_geb_vor2_end')) {
		geb_vor2_anf_unform = entered_date.getTime() + (1000*60*60*24*7*26) + (1000*60*60*24);
		geb_vor2_anf = new Date(geb_vor2_anf_unform);
		geb_vor2_end_unform = entered_date.getTime() + (1000*60*60*24*7*31);
		geb_vor2_end = new Date(geb_vor2_end_unform);
		document.getElementById('sp_geb_vor2_anf').innerHTML = geb_vor2_anf.getDate() +". "+monate_kurz[geb_vor2_anf.getMonth()]+" "+geb_vor2_anf.getFullYear();
		document.getElementById('sp_geb_vor2_end').innerHTML = geb_vor2_end.getDate() +". "+monate_kurz[geb_vor2_end.getMonth()]+" "+geb_vor2_end.getFullYear();
	}
				
		// Vorsorgeuntersuchung 6 29.-31. Woche
	if (document.getElementById('sp_vor_unt6_anf') && document.getElementById('sp_vor_unt6_end')) {
		vor_unt6_anf_unform = entered_date.getTime() + (1000*60*60*24*7*28) + (1000*60*60*24);
		vor_unt6_anf = new Date(vor_unt6_anf_unform);
		vor_unt6_end_unform = entered_date.getTime() + (1000*60*60*24*7*31);
		vor_unt6_end = new Date(vor_unt6_end_unform);
		document.getElementById('sp_vor_unt6_anf').innerHTML = vor_unt6_anf.getDate() +". "+monate_kurz[vor_unt6_anf.getMonth()]+" "+vor_unt6_anf.getFullYear();
		document.getElementById('sp_vor_unt6_end').innerHTML = vor_unt6_end.getDate() +". "+monate_kurz[vor_unt6_end.getMonth()]+" "+vor_unt6_end.getFullYear();
	}
		
		// dritte Ultraschalluntersuchung 29.-32. Woche
	if (document.getElementById('sp_zt_ult_anf3') && document.getElementById('sp_zt_ult_end3')) {
		zt_ult_anf_unform3 = entered_date.getTime() + (1000*60*60*24*7*28) + (1000*60*60*24);
	    zt_ult_anf3 = new Date(zt_ult_anf_unform3);
		zt_ult_end_unform3 = entered_date.getTime() + (1000*60*60*24*7*32);
		zt_ult_end3 = new Date(zt_ult_end_unform3);
		document.getElementById('sp_zt_ult_anf3').innerHTML = zt_ult_anf3.getDate() +". "+monate_kurz[zt_ult_anf3.getMonth()]+" "+zt_ult_anf3.getFullYear();
		document.getElementById('sp_zt_ult_end3').innerHTML = zt_ult_end3.getDate() +". "+monate_kurz[zt_ult_end3.getMonth()]+" "+zt_ult_end3.getFullYear();
	}
		
		// Hepatitis-Test 30.-32. Woche
	if (document.getElementById('sp_he_te_anf') && document.getElementById('sp_he_te_end')) {
		he_te_anf_unform = entered_date.getTime() + (1000*60*60*24*7*29) + (1000*60*60*24);
		he_te_anf = new Date(he_te_anf_unform);
		he_te_end_unform = entered_date.getTime() + (1000*60*60*24*7*32);
		he_te_end = new Date(he_te_end_unform);
		document.getElementById('sp_he_te_anf').innerHTML = he_te_anf.getDate() +". "+monate_kurz[he_te_anf.getMonth()]+" "+he_te_anf.getFullYear();
		document.getElementById('sp_he_te_end').innerHTML = he_te_end.getDate() +". "+monate_kurz[he_te_end.getMonth()]+" "+he_te_end.getFullYear();
	}

		// Elterngeld 31.-36. Woche
	if (document.getElementById('sp_el_ge_anf') && document.getElementById('sp_el_ge_end')) {
        el_ge_anf_unform = entered_date.getTime() + (1000*60*60*24*7*30) + (1000*60*60*24);
		el_ge_anf = new Date(el_ge_anf_unform);
		el_ge_end_unform = entered_date.getTime() + (1000*60*60*24*7*36);
		el_ge_end = new Date(el_ge_end_unform);
		document.getElementById('sp_el_ge_anf').innerHTML = el_ge_anf.getDate() +". "+monate_kurz[el_ge_anf.getMonth()]+" "+el_ge_anf.getFullYear();
		document.getElementById('sp_el_ge_end').innerHTML = el_ge_end.getDate() +". "+monate_kurz[el_ge_end.getMonth()]+" "+el_ge_end.getFullYear();
	}
		
		// Vorsorgeuntersuchung 7 ab 32. Woche alle 2 Wochen
	if (document.getElementById('sp_vor_unt7')) {
		vor_unt7_unform = entered_date.getTime() + (1000*60*60*24*7*31) + (1000*60*60*24);
		vor_unt7 = new Date(vor_unt7_unform);
		document.getElementById('sp_vor_unt7').innerHTML = wochentage[vor_unt7.getDay()]+" , der "+vor_unt7.getDate() +". "+monate[vor_unt7.getMonth()]+" "+vor_unt7.getFullYear();
	}
				
		// Beginn Mutterschutz ca. 34. Woche (6 Wochen + 1 Tag vor dem Entbindungstermin)
	if (document.getElementById('sp_mut_sch')) {
		mut_sch_unform = entered_date.getTime() + (1000*60*60*24*280.75) + ((period-28)*1000*60*60*24) - (1000*60*60*24*43);
		mut_sch = new Date(mut_sch_unform);
		document.getElementById('sp_mut_sch').innerHTML = wochentage[mut_sch.getDay()]+" , der "+mut_sch.getDate() +". "+monate[mut_sch.getMonth()]+" "+mut_sch.getFullYear();
	}
		
		// Mutterschaftsgeld 34.-39. Woche
	if (document.getElementById('sp_mu_ge_anf') && document.getElementById('sp_mu_ge_end')) {
		mu_ge_anf_unform = entered_date.getTime() + (1000*60*60*24*7*33) + (1000*60*60*24);
		mu_ge_anf = new Date(mu_ge_anf_unform);
		mu_ge_end_unform = entered_date.getTime() + (1000*60*60*24*7*39);
		mu_ge_end = new Date(mu_ge_end_unform);
		document.getElementById('sp_mu_ge_anf').innerHTML = mu_ge_anf.getDate() +". "+monate_kurz[mu_ge_anf.getMonth()]+" "+mu_ge_anf.getFullYear();
		document.getElementById('sp_mu_ge_end').innerHTML = mu_ge_end.getDate() +". "+monate_kurz[mu_ge_end.getMonth()]+" "+mu_ge_end.getFullYear();
	}
		
		// Elternzeit 34.-39. Woche
	if (document.getElementById('sp_el_ze_anf') && document.getElementById('sp_el_ze_end')) {
		el_ze_anf_unform = entered_date.getTime() + (1000*60*60*24*7*33) + (1000*60*60*24);
		el_ze_anf = new Date(el_ze_anf_unform);
		el_ze_end_unform = entered_date.getTime() + (1000*60*60*24*7*39);
		el_ze_end = new Date(el_ze_end_unform);
		document.getElementById('sp_el_ze_anf').innerHTML = el_ze_anf.getDate() +". "+monate_kurz[el_ze_anf.getMonth()]+" "+el_ze_anf.getFullYear();
		document.getElementById('sp_el_ze_end').innerHTML = el_ze_end.getDate() +". "+monate_kurz[el_ze_end.getMonth()]+" "+el_ze_end.getFullYear();
	}
				
		// Entbindungstermin 39. bzw. 40. Woche (ca. 280-282 Tage; Haegele-Regel mit einem Durchschnittswert 280.75)
	if (document.getElementById('sp_entb_ter') && document.getElementById('sp_entb_ter_wo')) {
	    entb_ter_unform = entered_date.getTime() + (1000*60*60*24*280.75) + ((period-28)*1000*60*60*24);
		entb_ter = new Date(entb_ter_unform);
	    document.getElementById('sp_entb_ter').innerHTML = wochentage[entb_ter.getDay()]+" , der "+entb_ter.getDate() +". "+monate[entb_ter.getMonth()]+" "+entb_ter.getFullYear();
	    // Feststellung der Woche des Entbindungstermins abhängig von der Dauer der Regel(39. 40. oder 41.)
	      if (period < 28) {
		   document.getElementById('sp_entb_ter_wo').innerHTML = "- 39.";	
		  }
		  else if (period == 35) {
		   document.getElementById('sp_entb_ter_wo').innerHTML = "- 41.";	
		  }
	      else {
		   document.getElementById('sp_entb_ter_wo').innerHTML = "- 40.";	
		  }
	}
	
	    // Übertragung 42. Woche
	if (document.getElementById('sp_ueb_tr')) {
	    ueb_tr_unform = entered_date.getTime() + (1000*60*60*24*7*41) + (1000*60*60*24);
		ueb_tr = new Date(ueb_tr_unform);
		document.getElementById('sp_ueb_tr').innerHTML = wochentage[ueb_tr.getDay()]+" , der "+ueb_tr.getDate() +". "+monate[ueb_tr.getMonth()]+" "+ueb_tr.getFullYear();		
	}

	  }

   }

   function calculate_short() { // für Geburtsterminrechner
    
	day = parseInt(document.formular.day.options[document.formular.day.selectedIndex].value);
    month = parseInt(document.formular.month.options[document.formular.month.selectedIndex].value);
    year = parseInt(document.formular.year.options[document.formular.year.selectedIndex].value);
    period = document.formular.period.options[document.formular.period.selectedIndex].value;
    entered_date = new Date(year,month,day,0,0,0);


	// Schaltjahr-Berechnung
    a = year % 4; // wenn Rest Null, dann Schaltjahr
    b = year % 100; // wenn Rest Null, dann kein Schaltjahr
    c = year % 400; // wenn Rest Null, dann trotzdem Schaltjahr

    // Catch entry errors
      if (isNaN(day)) {
		alert("Bitte Tag angeben");
      }
      else if (isNaN(month)) {
		alert("Bitte Monat angeben");
	  }
	  else if (isNaN(year)) {
		alert("Bitte Jahr angeben");
	  }
	  else if (day > 29 && month == 1) { 
		alert("Datum existiert nicht");
	  }
	  else if (day > 28 && month == 1 && (a != 0 || a == 0 && b == 0 || a == 0 && b == 0 && c != 0)) {
		alert("Datum existiert nicht");
	  }
	  else if (day > 30 && (month == 1 || month == 3 || month == 5 || month == 8 || month == 10)) {
		alert("Datum existiert nicht");
	  }
      else {
	    //Calculation
	    show('result'); //Ergebnisbereich wird sichtbar
	    
		// Eisprungwkt
	if (document.getElementById('sp_eispr_ter')) {
	    eispr_ter_unform = entered_date.getTime() + (1000*60*60*24*period) - (1000*60*60*24*13.5);
	    eispr_ter = new Date(eispr_ter_unform);
	    document.getElementById('sp_eispr_ter').innerHTML = wochentage[eispr_ter.getDay()]+", der "+eispr_ter.getDate() +". "+monate[eispr_ter.getMonth()]+" "+eispr_ter.getFullYear();
	}
        
        // Fruchtbare Tage
    if (document.getElementById('sp_fr_t_anf') && document.getElementById('sp_fr_t_end')) {
	    fr_t_anf_unform = eispr_ter_unform - (1000*60*60*24*3);
	    fr_t_anf = new Date(fr_t_anf_unform);
	    fr_t_end_unform = eispr_ter_unform + (1000*60*60*24*3);
	    fr_t_end = new Date(fr_t_end_unform);
	    document.getElementById('sp_fr_t_anf').innerHTML = fr_t_anf.getDate() +". "+monate_kurz[fr_t_anf.getMonth()]+" "+fr_t_anf.getFullYear();
	    document.getElementById('sp_fr_t_end').innerHTML = fr_t_end.getDate() +". "+monate_kurz[fr_t_end.getMonth()]+" "+fr_t_end.getFullYear();
	}
	    
	    // Entbindungstermin 39. bzw. 40. Woche (ca. 280-282 Tage; Haegele-Regel mit einem Durchschnittswert 280.75)
	if (document.getElementById('sp_entb_ter')) {
	    entb_ter_unform = entered_date.getTime() + (1000*60*60*24*280.75) + ((period-28)*1000*60*60*24);
		entb_ter = new Date(entb_ter_unform);
	    document.getElementById('sp_entb_ter').innerHTML = wochentage[entb_ter.getDay()]+" , der "+entb_ter.getDate() +". "+monate[entb_ter.getMonth()]+" "+entb_ter.getFullYear();
	}
	  }	
   }
   
   function set_today() {
	 now = new Date();	 
	 // Fill Year
	 for (i=0;i<document.formular.year.length;i++) {
	  if (document.formular.year.options[i].value == now.getFullYear()) {break;}	
	 }
	 // Fill Month
	 for (j=0;j<document.formular.month.length;j++) {
	  if (document.formular.month.options[j].value == now.getMonth()) {break;}
	 }
	 // Fill Day
	 for (k=0;k<document.formular.day.length;k++) {
	  if (document.formular.day.options[k].value == now.getDate()) {break;}	
	 }
	// document.getElementById("year").selectedIndex = i; //alternative
	 document.formular.year.selectedIndex = i;
	 document.formular.month.selectedIndex = j; 
	 document.formular.day.selectedIndex = k; 

   }
 
 
 
 function hide(id) {
   	if (document.getElementById(id)) {
		document.getElementById(id).style.visibility = "hidden";
		document.getElementById(id).style.display = "none";
	}
 }

 function show(id) {
   	if (document.getElementById(id)) {
		document.getElementById(id).style.visibility = "visible";
		document.getElementById(id).style.display = "block";
	}
 }

 function hide_all() {
    for (i=1;i<39;i++) {
	  var span_id = "span"+i;
      var icon_id = "icon"+i;
      visible[i] = false;
       if (document.getElementById(span_id) && document.getElementById(icon_id)) {
        document.getElementById(span_id).style.display = "none";
	    document.getElementById(icon_id).src = gr_plus.src;
	    document.getElementById(icon_id).title = "aufklappen";	 	
	   }	   
    }	
 }
 
  function show_all() {
    for (i=1;i<39;i++) {
      var span_id = "span"+i;
      var icon_id = "icon"+i;
      visible[i] = true;
       if (document.getElementById(span_id) && document.getElementById(icon_id)) {
	    document.getElementById(span_id).style.display = "inline";
	    document.getElementById(icon_id).src = gr_minus.src;
	    document.getElementById(icon_id).title = "zuklappen";
	   }		   
    }	
 }

function show_hide(id,element) {
  
  var icon_id = "icon"+element;

	if (visible[element])
	{
		document.getElementById(id).style.display = "none";
		visible[element] = false;
		document.getElementById(icon_id).src = gr_plus.src;
	//	document.getElementById(icon_id).setAttribute("title","aufklappen",1); //alternative
		document.getElementById(icon_id).title = "aufklappen";
	}
	else
	{		
		document.getElementById(id).style.display = "inline";
		visible[element] = true;
		document.getElementById(icon_id).src = gr_minus.src;
		document.getElementById(icon_id).title = "zuklappen";
	}

}

function scroll_pos() {

  var y = 0;
  if (window.pageYOffset) {
    y = window.pageYOffset;
  } 
  else if (document.documentElement && document.documentElement.scrollTop) { // IE6
    y = document.documentElement.scrollTop;
  }
  else if (document.body && document.body.scrollTop) { //IE5 
	y = document.body.scrollTop;
  }
  window.scrollTo(0,y);	
}

function scroll_top() {
  window.scrollTo(0,0);
  window.location.hash = "#top";
}


// Funktionalität zum bewegen der Navigationsleiste
  
  var navi_div = null;     // Element, über dem Maus bewegt wurde

// Mauskoordinaten
  var mouse_x   = 0;       
  var mouse_y   = 0;     

// Offset Maus - linke obere Ecke des Navi-Divs
  var off_x = 0;           
  var off_y = 0;           

  // Browserweiche
  IE = document.all&&!window.opera;
  DOM = document.getElementById&&!IE;

  // Initialisierungs-Funktion
  function init(){
    // Initialisierung der Überwachung der Events
    if (navigator.appVersion.search("MSIE 6.0") == -1) { //nur, wenn der Browser nicht IE6 ist, wird der Code ausgeführt

    document.onmousemove = do_Drag; 
    document.onmouseup = stop_Drag;  
    
	}
  }

  // Start der Bewegung
  function start_Drag(element) {
  
    if (navigator.appVersion.search("MSIE 6.0") == -1) { //nur, wenn der Browser nicht IE6 ist, wird der Code ausgeführt 
	  navi_div = element;
      // Offsets im Navi-div ermitteln
      off_x = mouse_x - navi_div.offsetLeft;
      off_y = mouse_y - navi_div.offsetTop;
    }
  }

  // Bewegen des Navi-div
  function do_Drag(ereignis) {
    // Aktuelle Mauskoordinaten bei Mausbewegung ermitteln
    mouse_x = (IE) ? window.event.clientX : ereignis.pageX;
    mouse_y = (IE) ? window.event.clientY : ereignis.pageY;

    if (navi_div != null) {
      // Navi-div neue Koordinaten zuweisen
      navi_div.style.left = (mouse_x - off_x) + "px";
      navi_div.style.top = (mouse_y - off_y) + "px";
    }
  }

  // Ende der Bewegung
  function stop_Drag(ereignis) {
    navi_div = null;
  } 
  

