pero no basta con empezar con un :
  
Código:
 function creaAjax() {
var req;
try {
	req = new XMLHttpRequest();
} catch(err1) {
	try {
		req = new ActiveXObject("Msxml2.XMLHTTP");
	} catch (err2) {
		try {
			req = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (err3) {
				req = false;
			}
		}
	}
	return req;
}
oAjax = creaAjax();
  y empiezas programando ajax? Lo demás son funciones básicas de javascript a lo que tendrias que agregarle los estados de respuesta del servidor y nada más.... otro tema muy diferentes es crear un framework base pero eso seria reinventar la rueda.