exfer = {};
exfer.ajax = {};
exfer.ajax.Http = function (method, url, params, onsuccess) {
var o = null;

method = method.toLowerCase();

if (typeof XMLHttpRequest != "undefined") {
o = new XMLHttpRequest();
} else if (typeof ActiveXObject != "undefined") {
if (exfer.ajax.Http.activexIndex < 0) {
for (var i = 0; i < exfer.ajax.Http.activexVers.length; i++) {
try {
o = new ActiveXObject(exfer.ajax.Http.activexVers[i]);
exfer.ajax.Http.activexIndex = i;
} catch (e) {
o = null;
}
}
} else {
o = new ActiveXObject(exfer.ajax.Http.activexVers[exfer.ajax.Http.activexIndex]);
}
}

if (!o) {
throw new Error("Error creating Ajax HTTP object");
}

if (method == "get") {
o.open(method, url + "?" + params, true);
} else if (method == "post") {
o.open(method, url, true);
} else {
throw new Error ("Method not supported by Ajax object");
}

o.onreadystatechange = function () {
if (o.readyState == 4) {
if (o.status == 200) {
onsuccess(o.responseText);
} else {
alert("Error: " + o.statusText);
}
}
}

if (method == "get") {
o.send(null);
} else {
o.send(params);
}

this.method = method;
this.url = url;
this.params = params;
this.request = o;
};
exfer.ajax.Http.activexIndex = -1;
exfer.ajax.Http.activexVers = [ "MSXML2.XmlHttp.6.0", "MSXML2.XmlHttp.3.0" ];

function showIt(s) {
var adiv = document.getElementById("adiv");
adiv.innerHTML = s;

}

function checkIt(v) {
var xhr = new exfer.ajax.Http("get", "PromoCodeAjax.php", "value="+encodeURIComponent(v),
function (responseText) {
if (responseText == "true") {
showIt("Promo Updated");
} else if (responseText == "false") {
showIt("Invalid Promo Code");
} else {
alert("Incorrect Ajax return value");
}
});
}
