///////////////////////////////////
// Adresse zum server				//
var kal_adr = "http://www.hess-schuetzen.de/index.php?auswahl=3&uausw=1&seite=1&us=6&ts=6&kaljahr=";		//
// Angabe Zum unterordner			//
var ordner = "kalender/"						//
///////////////////////////////////

var http_request = false;
var InBearbeitung = false;
var mouse_down = false;


function macheRequest(url, ADA) {

  http_request = false;

  if (window.XMLHttpRequest) { // Mozilla, Safari,...
      http_request = new XMLHttpRequest();
      if (http_request.overrideMimeType) {
          http_request.overrideMimeType('text/xml');
          // zu dieser Zeile siehe weiter unten
      }
  } else if (window.ActiveXObject) { // IE
      try {
          http_request = new ActiveXObject("Msxml2.XMLHTTP");
      } catch (e) {
          try {
              http_request = new ActiveXObject("Microsoft.XMLHTTP");
          } catch (e) {}
      }
  }

  if (!http_request) {
      alert('Ende :( Kann keine XMLHTTP-Instanz erzeugen');
      return false;
  }

  if (ADA == "1") {
  		http_request.onreadystatechange = display_nextmonth;
  } else if (ADA == "2") {
  		http_request.onreadystatechange = add_entry_display;
  } else if (ADA == "3") {
	  http_request.onreadystatechange = cookies;
  }
  
  http_request.open('GET', url, true);
  http_request.send(null);

}


function cookies() {
	if (http_request.readyState == 4) {
   	if (http_request.status == 200)
		{
	   	if(http_request.responseText == "loggedin") {
				alert('Sie haben sich erfolgreich angemeldet.\nSie werden nun weitergeleitet.');
				window.location.href = kal_adr;
			} else if (http_request.responseText == "NOTloggedin"){
				alert('Sie konnten sich nicht erfolgreich anmelden.\nBitte überprüfen sie Ihre Eingabe.');
			}
      } else {
         alert('Bei der Abfrage ist ein Fehler aufgetreten.');
      }
	}
}


function display_nextmonth() {
	if (http_request.readyState == 4) {
   	if (http_request.status == 200)
		{
	   	document.getElementById('Kalender').innerHTML = http_request.responseText;
      } else {
          alert('Bei der Abfrage ist ein Fehler aufgetreten.');
      }
	}
}

function change_month(month_shift, year_shift) {
	var url = "tage_fix.php?month_shift="+month_shift+"&year_shift="+year_shift;
	macheRequest(url, 1);
}

function yearchange(jahr, monat) {
	var url = ordner+"auswahl.php?jahr="+jahr+"&monat="+monat;
	macheRequest(url, 1);
}

function allchange(jahr, monat) {
	var url = "tage_fix.php?year_shift="+jahr+"&month_shift="+monat;
	macheRequest(url, 1);
}

function auswahl(jahr, monat) {
	var url = ordner+"auswahl.php?jahr="+jahr+"&monat="+monat;
	macheRequest(url, 1);
}

function edit_entry(index) {
	if(!InBearbeitung && mouse_down) {
		InBearbeitung = true;
		mouse_down = false;
		var eintrag = document.getElementById("ENTRY_"+index);
		var bild = document.getElementById("list_"+index);
		
		bild.style.display = "none"; // Bild wird ausgebeldet
		eintrag.innerHTML = "<input type=\"text\" id=\"input_"+index+"\" value=\""+eintrag.innerHTML+"\" onblur=\"cancel('13', '"+index+"', 'edit');\" onkeyup=\"cancel(event.keyCode?event.keyCode:event.which, "+index+", 'edit')\" />";
		eintrag.innerHTML += "<div id=\"entryOLD_"+index+"\" style=\"display:none;\">"+document.getElementById("input_"+index).value+"</div>";
		document.getElementById("input_"+index).focus();
	}
}

function add_entry(index) {
	if(!InBearbeitung && mouse_down) {
		InBearbeitung = true;
		mouse_down = false;
		tag = document.getElementById(index);
		tag.innerHTML += "<input type=\"text\" value=\"\" id=\"new_kal_entry\" onblur=\"cancel('13', '"+index+"', 'add');\" onkeyup=\"cancel(event.keyCode?event.keyCode:event.which, "+index+", 'add')\"  />";
		document.getElementById('new_kal_entry').focus();
	}
}

function add_entry_display() {
	if (http_request.readyState == 4) {
   	if (http_request.status == 200)
		{
			inhalt = document.getElementById(public_index)
	   	inhalt.innerHTML += http_request.responseText;
			delete(public_index);
			InBearbeitung = false;
      } else {
          alert('Eintrag konnte nicht hinzugefügt werden.');
			 delete(public_index);
			 InBearbeitung = false;
      }
	}
}

function down_true() {
	if(!InBearbeitung) {
		mouse_down = true;
	}
}

function cancel(code, index, type) {
	if(InBearbeitung) {
		if (code == 27) { // code 27 == ESC-Taste
			if(type == "edit") {
				var eintrag = document.getElementById("ENTRY_"+index);
				var alter_eintrag = document.getElementById("entryOLD_"+index);
				var bild = document.getElementById("list_"+index);
				
				bild.style.display = ""; // Bild wird eingebeldet
				eintrag.innerHTML = alter_eintrag.innerHTML;
				InBearbeitung = false;
			} else if(type == "add") {
				var tag = document.getElementById(index);
				var inputfeld = document.getElementById('new_kal_entry');
				
				tag.removeChild(inputfeld);
				InBearbeitung = false;
			}
		} else if (code == 13) { // code 13 == ENTER-Taste
			if(type == "edit") {
				var inhalt = document.getElementById("input_"+index);
				var eintrag = document.getElementById("ENTRY_"+index);
				var bild = document.getElementById("list_"+index);
				
				if(inhalt.value != "") {
					eintrag.innerHTML = inhalt.value;
					bild.style.display = "";
				} else {
					//eintrag.removeChild(bild);
					eintrag.removeChild(inhalt);
				}
				
				var url = ordner+"editentry.php?index="+index+"&inhalt="+escape(inhalt.value)+"&type=edit";
				InBearbeitung = false;
				macheRequest(url, 0);
				
			} else if(type == "add") {
				var tag = document.getElementById(index);
				var inhalt = document.getElementById("new_kal_entry");
				var url = ordner+"editentry.php?index="+index+"&inhalt="+escape(inhalt.value)+"&type=add";
				
				public_index = index;
				tag.removeChild(inhalt);
				if(inhalt.value != "") {
					macheRequest(url, 2);
				} else {
					InBearbeitung = false;
				}
			}
		}
	}
}

function kal_login() {
	var name = document.getElementById("kal_name");
	var pw = document.getElementById("kal_pw");
	
	var url = "../cookies.php?name="+escape(name.value)+"&pw="+escape(pw.value)+"&type=set";
	macheRequest(url, 3);
}

function kal_logout() {
	var url = "../cookies.php?type=del";
	macheRequest(url, 3);
}
