странный у вас говнокод получаеся, вначале кода вы используете устаревший способ для получения XMLHttpRequest() объекта ( new XMLHttpRequest() поддерживается ie8 и выше )
а потом вы используете jQuery в котором уже есть своя функция обертка для Ajax. И форматирование кода у вас никудышное, нельзя так делать
<p class="center">Имя в игре</p>
<span id="check_login"></span>
<form method="POST" id="formx">
<input type="text" name="login" id="login" class="input"/>
<p class="center">Пароль в игре</p>
<input type="text" name="pass" id="pass" class="input"/>
<span id="submit"></span>
</form>
<script>
$(function() {
$("#formx").on("submit", function(e) {
e.preventDefault();
/* реализация ф-ции call() */
});
$("input[name=login]").on("keyup", function() {
checkLogin($(this).val());
});
$("#submit").on("click", pass_hash);
})
function checkLogin(login) {
$.post('/api/?alg=reg&action=save_validation', { login: login }, function(response) {
if (response) {
$("#check_login").html("<div class='message padd_top_10 padd_bot_10 red'><div><p>ВНИМАНИЕ! имя занято</p></div></div>");
$("#submit").html("");
} else {
$("#check_login").html("<div class='message padd_top_10 padd_bot_10 yellow'><div><p>Имя свободно</p></div></div>");
$("#submit").html('<div class="button orange"><input type="submit" name="" id= "btt" value="Выбрать имя"></div>');
}
});
}
function pass_hash() {
var data = {
login: $("#login").val(),
pass: hex_sha512($("#pass").val())
};
$.post('/api/?alg=reg&action=save', { data: data }, function(response) {
alert(response);
});
}
</script>