function httpRequest( reqType, url, bool, respHandle ) {

	if( window.XMLHttpRequest ) {
		request = new XMLHttpRequest();
	} else if ( window.ActiveXObject ) {
		request = new ActiveXObject( "Msxml2.XMLHTTP" );
		if ( ! request ) {
			request = new ActiveXObject( "Microsoft.XMLHTTP" );
		}
	}
	if ( request ) {
		initReq( reqType, url, bool, respHandle );
	} else {
		alert ( "Your browser does not permit the use of all "+
			"of this applications features!");
	}

}

function initReq( reqType, url, bool, respHandle ) {

	try {

		request.onreadystatechange=respHandle;
		request.open( reqType, url, bool );
		if ( reqType.toLowerCase() == "post" ) {
			request.setRequestHeader( "Content-Type",
				"application/x-www-form-urlencoded; charset=UTF-8" );
			setQueryString();
			request.send( queryString );
		} else {
			request.send(null);
		}
	
	} catch (err) {
		alert(
		"The web interface can't contact "+
		"the server at the moment. "+
		"Try again in a few seconds.\n"+
		"Error detail: "+err.message );
	}


}

function setQueryString() {
	queryString="";
	var frm = document.forms[0];
	var numberElements = frm.elements.length;
	for( var i=0; i<numberElements; i++ ) {
		if ( i < numberElements-1 ) {
			queryString += frm.elements[i].name+"="+
				encodeURIComponent(frm.elements[i].value)+"&";
		} else {
			queryString += frm.elements[i].name+"="+
				encodeURIComponent(frm.elements[i].value);
		}
	}
}
