function ajax(url) {
	var req = null;

	try {
		req = new XMLHttpRequest();
	} catch (ms) {
		try {
			req = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (nonms) {
			try {
				req = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (failed) {
				req = null;
			}
		}
	}

	if (req == null)
		alert("Error creating request object!");

	// anfrage erstellen (GET, url ist localhost,
	// request ist asynchron
	req.open("GET", url, true);
	// Beim abschliessen des request wird diese Funktion ausgeführt
	req.onreadystatechange = function() {
		switch (req.readyState) {
		case 4:
			if (req.status != 200) {
				// alert("Fehler:"+req.status);
			} else {
				// alert(req.responseText);
				if (req.responseText == "Error") {
					Effect.Shake("light");
				} else {
				return req.responseText;
				}
			}
			break;

		default:
			return false;
			break;
		}
	};

	req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	req.send(null);
}

function Photo(script) {
	// erstellen des requests
	var req = null;

	try {
		req = new XMLHttpRequest();
	} catch (ms) {
		try {
			req = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (nonms) {
			try {
				req = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (failed) {
				req = null;
			}
		}
	}

	if (req == null)
		alert("Error creating request object!");

	// anfrage erstellen (GET, url ist localhost,
	// request ist asynchron
	req.open("GET", "lib/php/" + script + "?this="
			+ document.getElementById("photo").getAttribute("src"), true);
	// Beim abschliessen des request wird diese Funktion ausgeführt
	req.onreadystatechange = function() {
		switch (req.readyState) {
		case 4:
			if (req.status != 200) {
				// alert("Fehler:"+req.status);
				document.getElementById(to).innerHTML = "<div class=\"error_border\">"
						+ "<div class=\"text\"><div><b>Fehler "
						+ req.status
						+ "</b><br> Wahrscheinlich konnte die angeforderte Seite"
						+ " nicht gefunden werden.</div></div></div>";

			} else {
				// alert(req.responseText);
				if (req.responseText == "Error") {
					Effect.Shake("light");
				} else {
					var part = req.responseText.split("##");
					var src = "media/photo/" + part[0];
					var desc = part[1];
					document.getElementById("PhotoDiv").setAttribute("style",
							"display: none");
					document.getElementById("PhotoDiv").setAttribute("title",
							desc);
					document.getElementById("photo").setAttribute("src", src);
					document.getElementById("desc").innerHTML = "<p>" + desc
							+ "</p>";
					document.getElementById("origImg").setAttribute("href",
							"media/photo/original/" + part[0]);
					Effect.toggle('PhotoDiv', 'appear');
					//document.getElementById("PhotoDiv").setAttribute("style", "display: block");
					//flyIn("PhotoDiv",document.getElementById("PhotoDiv").offsetLeft, document.getElementById("PhotoDiv").offsetTop);

				}
			}
			break;

		default:
			return false;
			break;
		}
	};

	req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	req.send(null);
}

function show(id) {
	// erstellen des requests
	var req = null;

	try {
		req = new XMLHttpRequest();
	} catch (ms) {
		try {
			req = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (nonms) {
			try {
				req = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (failed) {
				req = null;
			}
		}
	}

	if (req == null)
		alert("Error creating request object!");

	// anfrage erstellen (GET, url ist localhost,
	// request ist asynchron
	req.open("GET", "lib/php/photo.php?id="
			+ document.getElementById(id).getAttribute("src"), true);
	// Beim abschliessen des request wird diese Funktion ausgeführt
	req.onreadystatechange = function() {
		switch (req.readyState) {
		case 4:
			if (req.status != 200) {
				alert("Fehler:"+req.status);
			} else {
				// alert(req.responseText);
				if (req.responseText == "Error") {

				} else {
					document.getElementById("dark").setAttribute("style",
							"display: block");
					var part = req.responseText.split("##");
					var src = "media/photo/" + part[0];
					var desc = part[1];
					document.getElementById("PhotoDiv").setAttribute("title",
							desc);
					document.getElementById("photo").setAttribute("src", src);
					document.getElementById("desc").innerHTML = "<p>" + desc
							+ "</p>";
					document.getElementById("origImg").setAttribute("href",
							"media/photo/original/" + part[0]);

					Effect.toggle('light', 'slide', {
						duration :0.5
					});
					if (navigator.appName == "Netscape") {
						new Draggable('light');
					}
				}
			}
			break;

		default:
			return false;
			break;
		}
	};

	req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	req.send(null);
}

function showBox(id) {
	show(id);
}

function nextPhoto() {
	Photo("next.php");
}

function prevPhoto() {
	Photo("prev.php");
}

