var debug_mode = true;
var request_type;


function debug(text) {
	if (debug_mode) alert(text);
}

function createObject() {
	var req;
	
	var msxmlhttp = new Array(
				'Msxml2.XMLHTTP.5.0',
				'Msxml2.XMLHTTP.4.0',
				'Msxml2.XMLHTTP.3.0',
				'Msxml2.XMLHTTP',
				'Microsoft.XMLHTTP');

	for (var i = 0; i < msxmlhttp.length; i++) {
		try {
			req = new ActiveXObject(msxmlhttp[i]);
		}
		catch (e) {
			req = null;
		}
	}

	if (!req && typeof XMLHttpRequest != 'undefined') {
		try {
			req = new XMLHttpRequest();
		}
		catch(e){
			alert('AJAX isnt supported by your browser! Pity...');
			return false;
		}
	}
	
    return req;
}

function executeFunc(req_type, url, post_vars, handler) {
	var request;
	var post_data;
	
	request_type = req_type;

	if (request_type == "get") {
		url += ("?"+post_vars);
		post_data = null;
	}
	else if (request_type == "post") {

		 post_data = post_vars;
	}
	else {
		// Parse error
	}
	
	request = createObject();
	
	request.open(request_type, url, true);
	if (request_type == "post") {
		request.setRequestHeader("Method", "POST " + url + " HTTP/1.1");
		request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	}
	
	request.onreadystatechange = function() {

        var data = request.responseText;

		if (request.readyState != 4) {
			// Do nothing
			handler("loading...")
		}
		else {
            handler(data);
		}
	}

	request.send(post_data);
	
	delete request;
	return true;
}




