function talktoServer(day) {
	var req = newXMLHttpRequest();

	//register the callback handler function
	var callbackHandler = getReadyStateHandler(req, updateMsgOnBrowser);
	req.onreadystatechange = callbackHandler;
	req.open("POST", "kalenderdag.asp", true);
	req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

	//get the value from the text input element and send it to server
	req.send("dag="+day);
	document.getElementById("calendarevents").innerHTML = "Henter data..."
}

// This is the callback functions that gets called
// for the response from the server with the XML data
var lastPing = 0;
function updateMsgOnBrowser(testXML) {
	var tid, message, url, hold, kamp, result, protokol;
	var tid_value, message_value, url_value, hold_value, kamp_value, result_value, protokol_value;
	var calendarevents = document.getElementById("calendarevents");

	calendarevents.innerHTML = "<span class=\"date\">" + testXML.getElementsByTagName("dag")[0].firstChild.nodeValue + ". " + testXML.getElementsByTagName("maaned")[0].firstChild.nodeValue + "</span><br />"

	for (i = 0; i < testXML.getElementsByTagName("tid").length; i++) {
		tid = testXML.getElementsByTagName("tid")[i];
		message = testXML.getElementsByTagName("msg")[i];
		url = testXML.getElementsByTagName("url")[i];
		hold = testXML.getElementsByTagName("hold")[i];
		kamp = testXML.getElementsByTagName("kamp")[i];
		result = testXML.getElementsByTagName("result")[i];
		protokol = testXML.getElementsByTagName("protokol")[i];
		udsat = testXML.getElementsByTagName("udsat")[i];

		tid_value = tid.firstChild.nodeValue;
		var message_value = message.firstChild.nodeValue;
		var url_value = url.firstChild.nodeValue;
		var hold_value = hold.firstChild.nodeValue;
		var kamp_value = kamp.firstChild.nodeValue;
		var result_value = result.firstChild.nodeValue;
		var protokol_value = protokol.firstChild.nodeValue;
		var udsat_value = udsat.firstChild.nodeValue;

		var kampevent = false;

		if (tid_value == -1)
			calendarevents.innerHTML += "<span class=\"event\">";
		else {
			if (udsat_value != 1)
				calendarevents.innerHTML += "<span class=\"event\">" + tid_value;
			else
				calendarevents.innerHTML += "<span class=\"event\"><s>" + tid_value + "</s>";
		}

		if (kamp_value == 1) {
			if (udsat_value != 1)
				calendarevents.innerHTML += " " + message_value;
			else
				calendarevents.innerHTML += " <s>" + message_value + "</s> (udsat)";

			if (result_value != 0) {
				if (protokol_value == 0)
					calendarevents.innerHTML += " " + result_value;
				else
					calendarevents.innerHTML += " <a href=protokol.asp?id=" + protokol_value + ">" + result_value + "</a>";
			}

			if (testXML.getElementsByTagName("maaned")[0].firstChild.nodeValue.toString() != "august")
				kampevent = true;
		} else if (kamp_value == 2) {
			if (url_value == 0)
				calendarevents.innerHTML += "<img alt\"Fødselsdag\" src=\"../images/flag.gif\" height=\"9\" width=\"12\" /> " + message_value;
			else
				calendarevents.innerHTML += "<img alt\"Fødselsdag\" src=\"../images/flag.gif\" height=\"9\" width=\"12\" /><a href=\"" + url_value + "\"> " + message_value + "</a>";
		} else {
			if (url_value == 0)
				calendarevents.innerHTML += " " + message_value;
			else
				calendarevents.innerHTML += " <a href=\"" + url_value + "\">" + message_value + "</a>";
		}

		if (hold_value != "-1")
			calendarevents.innerHTML += " (" + hold_value + ")</span><br />";
		else
			calendarevents.innerHTML += "</span><br />";
	}

//	if (kampevent)
//		calendarevents.innerHTML += "<br />Kamp programmet er ikke endelig fastlagt, så der kan forekomme ændringer i datoerne.";
}


//the following two functions are helper infrastructure to
//create a XMLHTTPRequest and register a listener callback function

function newXMLHttpRequest() {
	var xmlreq = false;
	if (window.XMLHttpRequest) {
		xmlreq = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
    // Try ActiveX
		try {
			xmlreq = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e1) {
			calendarevents.innerHTML = "Msxml2.XMLHTTP failed..."
			// first method failed
			try {
				xmlreq = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e2) {
				calendarevents.innerHTML = "Microsoft.XMLHTTP failed..."
				 // both methods failed
			}
		}
 	}
   	return xmlreq;
}

function getReadyStateHandler(req, responseXmlHandler) {
	return function () {
		if (req.readyState == 4) {
			if (req.status == 200) {
				document.getElementById("calendarevents").innerHTML = "Henter data..."
				responseXmlHandler(req.responseXML);
			}
			else {
				//alert("error");
			}
		}
 	}
}
