// ett ajaxobjekt
function AjaxRequest(){
	this.httpRequest = false;
	this.divId = "";
	this.replace = true;
	// Skapa request-objektet
	try{
		// FF, Opera 8.0+, Safari
		this.httpRequest=new XMLHttpRequest();
	}
	catch (e){
		// IE
		try{
			this.httpRequest=new ActiveXObject("Msxml2.XMLHTTP");
		}
		catch (e){
			try{
				this.httpRequest=new ActiveXObject("Microsoft.XMLHTTP");
			}
      		catch (e){
				alert("Din webbläsare stöder inte AJAX, sidan kanske inte fungerar som det är tänkt. Uppdatera din webbläsare och återkom!");
				return false;
			}
		}
	}
}

AjaxRequest.prototype.toString = function(){
	return this.divId;
}

AjaxRequest.prototype.get = function(div, url, repl){
	this.divId = div;
	this.replace = repl;
	// Ajax GET
	this.httpRequest.onreadystatechange = this.statechange;
	this.httpRequest.open("GET",url,true);
	this.httpRequest.send(null);
}

AjaxRequest.prototype.post = function(div, url, parameters, repl){
	this.divId = div;
	this.replace = repl;
	// Ajax POST
	this.httpRequest.onreadystatechange = this.statechange;
	this.httpRequest.open('POST', url, true);
	this.httpRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	this.httpRequest.setRequestHeader("Content-length", parameters.length);
	this.httpRequest.setRequestHeader("Connection", "close");
	this.httpRequest.send(parameters);
}

// den här blev lite konstig för jag fattar inte hur onreadystatechange funkar
// det funkar iaf.
AjaxRequest.prototype.statechange = function(){
	//alert(this.toString());
	if(ajax.httpRequest.readyState == 4){
		if (ajax.httpRequest.status == 200) {
			//alert(httpRequest.responseText);
			result = ajax.httpRequest.responseText;
			if (ajax.replace){
				document.getElementById(ajax.divId).innerHTML = result;
			} else {
				document.getElementById(ajax.divId).innerHTML += result;
			}
		} else {
			alert('There was a problem with the request.');
		}
	}
}

var ajax = new AjaxRequest();