<!-- http://devel.invest.com.my/personal/intro/signup

// XMLHttpRequest to check input
// and display error message beside/below input form

// input field id
var field;
var checkedFields = new Array();
var checkedFieldValues = new Array();

function checkInput(inputField, sendAll) {
	if(!sendAll) {
		sendAll = 0;
	}
	
    field = inputField;
    var field_checked = -1;
    
    // Have we dealt with this field before?
    for (i=0; i<checkedFields.length; i++) {
        if (checkedFields[i] == field.name) {
            field_checked = i;
            break;
        }
    }
    
    // If this was checked before, see if the value changed, or if we're on sendAll mode
    // before continuing.
    if (field_checked >= 0) {
        if (checkedFieldValues[field_checked] == field.value && sendAll == 0) {
            // No change in value. Skip checks
            return;
        } else {
            // Value changed. Update lastValue
            checkedFieldValues[field_checked] = field.value;
        }
    } else {
        checkedFields.push(field.name);
        checkedFieldValues.push(field.value);
    }
    
    // Remove existing errmsg ?
    if (document.getElementById(field.id+'_errmsg')) {
        // alert('ERRMSG Exists');
        cur_span = document.getElementById(field.id+'_errmsg');
        field.parentNode.removeChild(cur_span);
    }
    
    // Default url to current page
    url = document.URL;
    if (url.indexOf('?') != -1) {
        url = url.substr(0,url.indexOf('?'));
    }
    url = url + '?xml_p=1&xverify=' + field.id;
	
	if (!sendAll) {
		url = url + '&' + field.id + '=' + field.value;
	} else {
		for (i = 0; i < inputField.form.elements.length; i++ ) {
			if (inputField.form.elements[i].id) {
				url = url + '&' + inputField.form.elements[i].id + '=' + inputField.form.elements[i].value;
			}
		}
	}
	
    loadXMLDoc(url);
}

function processReqChange() {
    // only if req shows "loaded"
    if (req.readyState == 4) {
        var results = req.responseXML;
                
        // Split XML Input Check results
        var input_state = results.getElementsByTagName('status').item(0).firstChild.data;
        var input_notes = results.getElementsByTagName('notes').item(0).firstChild.data;
        
        // Response to form
        var newSpan = document.createElement("span");
        // How to set element id?
        newSpan.setAttribute('id',field.id+'_errmsg');
        
        if (input_state == 1) {
            // Input OK
            newSpan.className = 'form-passtext';
        } else if (input_state == 0) {
            newSpan.className = 'form-warntext';
            if (input_notes) {
                var newText = document.createTextNode(input_notes);
                newSpan.appendChild(newText);
            }
        } else if (input_state == -1) {
            newSpan.className = 'form-errortext';
            if (input_notes) {
                var newText = document.createTextNode(input_notes);
                newSpan.appendChild(newText);
            }
        }
        
        // Stick message beside input field
        if (field.nextSibling) {
            field.parentNode.insertBefore(newSpan,field.nextSibling);
        } else {
            field.parentNode.appendChild(newSpan);
        }
    }
}


// XMLHttpRequest object;
var req;

function loadXMLDoc(url) {
    // branch for native XMLHTTPRequest object
    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
        req.onreadystatechange = processReqChange;
        req.open("GET", url, true);
        req.send(null);
    // branch for IE/Windows ActiveX version
    } else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
        if (req) {
            req.onreadystatechange = processReqChange;
            req.open("GET", url, true);
            req.send();
        }
    } else {
        alert('XMLHTTPRequest not supported')
    }
}


// -->