/** XHConn - Simple XMLHTTP Interface - bfults@gmail.com - 2005-04-08        **
 ** Code licensed under Creative Commons Attribution-ShareAlike License      **
 ** http://creativecommons.org/licenses/by-sa/2.0/                           **/

function XHConn() {
	var xmlhttp, bComplete = false;
	try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); }
	catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); }
	catch (e) { try { xmlhttp = new XMLHttpRequest(); }
	catch (e) { xmlhttp = false; }}}
	if (!xmlhttp) return null;
	this.connect = function(sURL, sMethod, sVars, fnDone) {
		if (!xmlhttp) return false;
		bComplete = false;
		sMethod = sMethod.toUpperCase();

		try {
			if (sMethod == "GET") {
				var nr = Math.round(Math.random()*4365653);
				var params = (sVars.length>0) ? sVars+"&nr="+nr : "nr="+nr;
				xmlhttp.open(sMethod, sURL+"?"+params, true);
				sVars = "";
			} else {
				xmlhttp.open(sMethod, sURL, true);
				xmlhttp.setRequestHeader("Method", "POST "+sURL+" HTTP/1.1");
				xmlhttp.setRequestHeader("Content-Type",
				"application/x-www-form-urlencoded");
			}
			xmlhttp.onreadystatechange = function(){
				if (xmlhttp.readyState == 4 && !bComplete) {
					bComplete = true;
					fnDone(xmlhttp);
				}
			};
			xmlhttp.send(sVars);
		} catch(z) { return false; }
		return true;
	};
	return this;
}
//cookie functions
function setCookie(name, value, expires) {
	var today = new Date();
	today.setTime(today.getTime());
	if (expires) { expires = expires * 1000 * 60 * 60 * 24; }
	var expires_date = new Date(today.getTime() + (expires));
	document.cookie = name + "=" + escape(value) +
	( (expires) ? ";expires=" + expires_date.toGMTString() : "") +
	";path=/;domain=.familiepagina.nl";
}
function getCookie(name) {
	var start = document.cookie.indexOf(name+"=");
	var len = start + name.length + 1;
	if ((!start) && (name != document.cookie.substring(0, name.length))) { return null; }
	if (start == -1) return null;
	var end = document.cookie.indexOf(";", len);
	if (end == -1) end = document.cookie.length;
	return unescape(document.cookie.substring(len,end));
}
function message(m, d) {
	var msg = document.getElementById("msg");
	msg.innerHTML = m;
	msg.style.display = '';
	setTimeout('document.getElementById("msg").style.display="none"', d);
}
function getChecked() {
	var checked = new Array();
	var cbs = document.getElementsByTagName("input");
	for (var i = 0; i < cbs.length; i++) {
		if (cbs[i].type == "checkbox" && cbs[i].checked) {
			checked.push(cbs[i].parentNode.id.substring(5));
		}
	}
	return checked;
}
function setChecked(checked) {
	if (checked && checked.length) {
		for (var i = 0; i < checked.length; i++) {
			var li = document.getElementById("item-" + checked[i]);
			var cb = li.getElementsByTagName("input")[0];
			if (cb) cb.checked = true;
		}
	}
}
