﻿var myRequest = new ajaxObject("SelectHorseAjax.aspx");

function checkNameAvailability(oText) {
    var oTextValue = oText.value;
    var validateHorse = oText.name == 'HorseName';
    var responseType = (validateHorse) ? 'Horse' : 'Stable';
    if (oTextValue.length >= 3) {
        // Create an ajax processor, supplying the page to call
        window.acProc = new AjaxProc("SelectHorseAjax.aspx", 'check' + responseType + 'Name');

        acProc.sourceInput = oText;

        // Set up any parameters
        acProc.addParameter("value", oTextValue);

        // Specify function to run when the request returns
        acProc.done = function(context) {
            var valid = (this.responseXml.getElementsByTagName(responseType + 'NameTaken')[0].firstChild.nodeValue == 'true');
            document.getElementById('imgError' + responseType).style.display = (!valid) ? '' : 'none';
            document.getElementById('imgSuccess' + responseType).style.display = (valid) ? '' : 'none';
        }
        // execute the processor
        acProc.execute();
    }
    else {
        document.getElementById('imgError' + responseType).style.display = 'none';
        document.getElementById('imgSuccess' + responseType).style.display = 'none';
    }
}

function getAvailableName(requestType) {
    myRequest.update('command=getAvailableName' + requestType);
    myRequest.callback = function(responseText, responseStatus, responseXML) {
        var availableName = responseXML.getElementsByTagName('Available' + requestType + 'Name')[0].firstChild.nodeValue;
        switch (requestType) {
            case 'Horse':
                document.forms[0].HorseName.value = availableName;
                break;
            case 'Stable':
                document.forms[0].StableName.value = availableName;
                break;
        }
        var isValid = (responseXML.getElementsByTagName(requestType + 'NameTaken')[0].firstChild.nodeValue == 'true');
        document.getElementById('imgError' + requestType).style.display = (!isValid) ? '' : 'none';
        document.getElementById('imgSuccess' + requestType).style.display = (isValid) ? '' : 'none';
        validateFormField();
    }
}
