/* nAjax v0.09rs*/ 
/* Gebruik : var ajax1 = new new_Ajax(); 
/* ajax1.run("timer.php","id_naam"); */
/* ajax1.post("formulier.php","formulier","id_naam"); */
/* 09-09-09 Checkbox / Radio Button compatabiliteit toegevoegd aan ajax1.post() */


function nAjax() {
	this.xmlhttp = null;
	this.element="";
	this.frmname="";
	this.page="";
	this.content="";
	var self="";
	
	this.initnAjax=function()  {
		try {
			this.xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e1) {
			try {
				this.xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e2) {
				this.xmlhttp = null;
			}
		}

		if (! this.xmlhttp) {
			if (typeof XMLHttpRequest != "undefined") {
				this.xmlhttp = new XMLHttpRequest();
			} else {
				this.failed = true;
			}
		}
		
	};
	
	this.run=function (page,element)	{
			self = this;
			if (this.xmlhttp) {
				if (self.xmlhttp.readyState >= 1 && self.xmlhttp.readyState <= 3) { self.xmlhttp.abort();}
				this.now = new Date();
				this.xmlhttp.open("GET", page + "?t=" + this.now.getTime(), true);
				this.xmlhttp.onreadystatechange = function () {
				if(self.xmlhttp.readyState == 4){
					document.getElementById(element).innerHTML = self.xmlhttp.responseText;
					}
				}
				this.xmlhttp.send(null);
			}
	}

	this.runplus=function (page,element,waarde)	{
			self = this;
			if (this.xmlhttp) {
				if (self.xmlhttp.readyState >= 1 && self.xmlhttp.readyState <= 3) { self.xmlhttp.abort();}
				this.now = new Date();
				this.xmlhttp.open("GET", page + "?t=" + this.now.getTime() + "&" + waarde, true);
				this.xmlhttp.onreadystatechange = function () {
				if(self.xmlhttp.readyState == 4){
					document.getElementById(element).innerHTML = self.xmlhttp.responseText;
					}
				}
				this.xmlhttp.send(null);
			}
	}
	
	this.post=function (page,frmname,element)	{
				this.formobj=top.document.forms[frmname];
				this.content="formnaam="+frmname;
				this.thetype="";
				for(var aitr=0;aitr < this.formobj.elements.length;aitr++) {	
				
					this.thetype=this.formobj.elements[aitr].type

					if (this.thetype=="checkbox") {
						if(this.formobj.elements[aitr].checked) {
								this.content+='&'+this.formobj.elements[aitr].name+'='+escape(this.formobj.elements[aitr].value)
								} else {
								this.content+='&'+this.formobj.elements[aitr].name+'='
						}
					}

					if (this.thetype=="radio") {
						if(this.formobj.elements[aitr].checked) {
								this.content+='&'+this.formobj.elements[aitr].name+'='+escape(this.formobj.elements[aitr].value)
								} 
					}
					
					if (this.thetype=="text") {
					this.content+='&'+this.formobj.elements[aitr].name+'='+escape(this.formobj.elements[aitr].value)
					}

					if (this.thetype=="select-one") {
					this.content+='&'+this.formobj.elements[aitr].name+'='+escape(this.formobj.elements[aitr].value)
					}
					
					if (this.thetype=="textarea") {
					this.content+='&'+this.formobj.elements[aitr].name+'='+escape(this.formobj.elements[aitr].value)
					}

					if (this.thetype=="hidden") {
					this.content+='&'+this.formobj.elements[aitr].name+'='+escape(this.formobj.elements[aitr].value)
					}
					
				}	
			self = this;

			if (this.xmlhttp) {
				if (self.xmlhttp.readyState >= 1 && self.xmlhttp.readyState <= 3) { self.xmlhttp.abort();}
				this.now = new Date();
				this.xmlhttp.open("POST", page + "?t=" + this.now.getTime(), true);
				this.xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
				this.xmlhttp.setRequestHeader('CharSet', 'iso-8859-1');
				this.xmlhttp.onreadystatechange = function () {
				if(self.xmlhttp.readyState == 4){
					document.getElementById(element).innerHTML = self.xmlhttp.responseText;
					}
				}
				this.xmlhttp.send(this.content);
			}
	}

this.initnAjax();
}