Llevo con esto del ajax unos meses, que con vuestra ayuda han sido un placer

El problema es que recuerdo que alguno que otro me hicisteis algun toque sobre la rareza de la funcion que utilizaba para enviar y recibir los datos por medio de post con ajax.
Por eso pregunto, jeje: ¿Es normal esta funcion?... me aconsejais otra?, no la comprendo... pero funciona perfectamente:
Código PHP:
var request = false;
if (window.XMLHttpRequest){request = new XMLHttpRequest();}
function validation()
{
if (window.ActiveXObject)
{
try {request = new ActiveXObject("Msxml2.XMLHTTP");}
catch(e)
{
try{request = new ActiveXObject("Microsoft.XMLHTTP");}
catch(e) {request = false;}
}
}
if (request)
{
request.onreadystatechange = form_nick_ajax_receibe;
request.open("POST", "/validation.php");
request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded;');
request.send("nick="+encodeURIComponent(form_nick_id.value));
}
}
function form_nick_ajax_receibe()
{
form_nick_id = document.getElementById('form_nick');
if (request.readyState == 4)
{
if (request.status == 200)
{
form_nick_request = request.responseText;
form_nick_alert_id.innerHTML = form_nick_request;
}
}
else
{
form_nick_id.innerHTML = "Validando ↓";
}
}