function createRequestObject() {

   var req;

   if(window.XMLHttpRequest){
      // Firefox, Safari, Opera...
      req = new XMLHttpRequest();
   } else if(window.ActiveXObject) {
      // Internet Explorer 5+
      req = new ActiveXObject("Microsoft.XMLHTTP");
   } else {
      // There is an error creating the object,
      // just as an old browser is being used.
      alert('Problem creating the XMLHttpRequest object');
   }

   return req;

}

// Make the XMLHttpRequest object
var http = createRequestObject();

function sendRequest(url, div) {
	// Open PHP script for requests
	http.open('get', url);
	http.onreadystatechange = function(){
		if(http.readyState == 4 && http.status == 200){
			// Text returned FROM the PHP script
			var response = http.responseText;
			if(response) {
				// UPDATE ajaxTest content
				document.getElementById(div).innerHTML = response;
			}
		}
		else if ( http.readyState == 3 ) {
			document.getElementById(div).innerHTML = 'Request In Progress...';
		}
		else if ( http.readyState == 2 ) {
			document.getElementById(div).innerHTML = 'Request Sent...';
		}
		else if ( http.readyState == 1 ) {
			document.getElementById(div).innerHTML = 'Request Set...';
		}
		else {
			document.getElementById(div).innerHTML = 'Request has not been sent...';
		}
	}
	http.send(null);
}

function sendPostRequest(url, div, content){
	http.open('POST', url, true);
	http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http.setRequestHeader("Content-length", content.length);
	http.setRequestHeader("Connection", "close");
	http.onreadystatechange = function (){
		if ( http.readyState == 1 ) {
			document.getElementById(div).innerHTML = 'Loading...';
		}
		else if ( http.readyState == 2 ) {
			document.getElementById(div).innerHTML = 'Loading...';
		}
		else if ( http.readyState == 3 ) {
			document.getElementById(div).innerHTML = 'Loading...';
		}
		else if ( http.readyState == 4 ) {
			document.getElementById(div).innerHTML = http.responseText;
		}
		else {
			document.getElementById(div).innerHTML = 'Broken.';
		}
	}
	http.send(content);
}

function chat_refresh () {
	var message = document.getElementById("chatwindow");
	var time = new Date().getTime();
	var params = 'time='+time;
	
	http.open ('POST', 'chatRefresh.php', true);
	http.onreadystatechange = function(){
			if ( http.readyState == 4 ) {
				var res = http.responseText;
				if ( res == 'banned' ) {
					message.value='banned';
				}
				else {
					var i = 0;
					if ( i == 0 ) {
						var later = message.value;
						i++;
					}
					else {
						var later = '';
					}
					message.value=http.responseText+later;
				}
			}
		}
	http.setRequestHeader ('Content-type', 'application/x-www-form-urlencoded');
    http.setRequestHeader ('Content-length', params.length);
    http.setRequestHeader ('Connection', 'close');
	
	http.send(params);
}
function chat_post () {
	var message = document.getElementById("message");
	var time = new Date().getTime();
	var params = 'message='+message.value+'&time='+time+'';
	
	message.disabled=true;

	http.open('POST', 'chatPost.php', true);
	http.onreadystatechange = function () {
			if (http.readyState==4){
				var res = http.responseText;
				if (res == 'banned'){
					message.value='banned';
				}
				else {
					message.value='';
					message.disabled=false;
					message.focus();
				}
			}
			else {
				message.value='Posting...';
			}
		}
					
	
    http.setRequestHeader ('Content-type', 'application/x-www-form-urlencoded');
    http.setRequestHeader ('Content-length', params.length);
    http.setRequestHeader ('Connection', 'close');
	
	http.send(params);
}
