var problemArray = new Array();
var problemCount = 0;

function dispSubmit(field,action){
    if(problemArray.length != 0){
        for(var i = 0; i < problemArray.length; i++){
            if(problemArray[i] == field){    
                place = i;
                break;
            }else{
                place = -12;
            }
        }
    }else{
        place = -50;
    }
    if(action == "add" && place < 0){
        problemArray.splice(problemArray.length,0,field);
    }else if(action == "remove" && place >= 0){
        problemArray.splice(place,1);
    }
     <!--DISPLAY ERROR OR SUBMIT BUTTION-->
     //alert("problem count: " + problemCount);
    //if(problemArray.length != 0){
    if (problemCount > 0) {
    	//alert("disabled");
        document.getElementById('submit1').disabled = true;
        document.getElementById('submit2').disabled = true;
    }
    //if(problemArray.length == 0) {
    else {
    	//alert("not disabled");
        document.getElementById('submit1').disabled = false;
        document.getElementById('submit2').disabled = false;
    }
} 


<!--TRIM ALL LEADING AND FOLLOWING WHITESPACE IN A STRING-->
function trimString(str)
{
   return str.replace(/^\s*|\s*$/g,"");
}
<!--HIGHLIGHT EMPTY FIELDS THAT ARE REQUIRED-->
function hiliteRequired(startValFROM,place){
    <!--DEFINE THE ID'S OF THE REQUIRED FIELDS-->
    var requiredFields = new Array()
        requiredFields[0] = "userfield"
        requiredFields[1] = "emailfield"
        requiredFields[2] = "testfield"
        requiredFields[3] = "testoption"
    
    var pos = requiredFields.length;
    for(var i = 0; i < requiredFields.length; i++){
        if(requiredFields[i] == startValFROM){
            pos = i;
        }else{
            if (pos > place){
                pos = place;
            }else{
                pos = pos;
            }
        }
    }
    <!--HIGHLIGHT EMPTY FIELDS-->
    for(var x = 0; x < pos; x++){
        if(trimString(document.getElementById(requiredFields[x]).value) == ""){
            document.getElementById(requiredFields[x]).className = 'skipped';
            dispSubmit(requiredFields[x],'add');
        }else if(document.getElementById(requiredFields[x]).className != "error"){
            document.getElementById(requiredFields[x]).className = 'noclass';
            dispSubmit(requiredFields[x],'remove');
        }
    }
    <!--FIX FOR IF THE USER WERE TO NAVIGATE THE FORM IN REVERSE-->
    for(var y = 0; y < requiredFields.length; y++){
        if(trimString (document.getElementById(requiredFields[y]).value) != "" && document.getElementById(requiredFields[y]).className != "error"){
            document.getElementById(requiredFields[y]).className = 'noclass';
            dispSubmit(requiredFields[y],'remove');
        }
    }
} 
<!--AJAX-->
function createRequestObject() {
    var ro;
    var browser = navigator.appName;
    if(browser == "Microsoft Internet Explorer"){
        ro = new ActiveXObject("Microsoft.XMLHTTP");
    }else{
        ro = new XMLHttpRequest();
    }
    return ro;
}

var http = createRequestObject();

function validateForm(txtfield){
	problemArray = new Array();
	problemCount = 0;
	var TEMPLATEPATH = "/wp-content/themes/horizona";	
	//alert("hi there: " + txtfield);
    var url =  '/validate_sql.php?field=';
    var url2;
    //var email = document.getElementById('emailfield').value;
    var do_validate = true;
    if (txtfield == "entity_name"){
    	//alert('entityname!');
    		var entity_name = document.getElementById('entity_name').value;
        url2 = txtfield+unescape("%26entity_name=")+entity_name;
    }else if(txtfield == "first_name" || txtfield == "last_name"){
			do_validate = false;
			var first_name = document.getElementById("first_name").value;
			var last_name = document.getElementById("last_name").value;
			if (trimString(first_name) != '' && trimString(last_name) != '') {
				do_validate = true;
				url2 = "person_name"+unescape("%26first_name=")+first_name+unescape("%26last_name=")+last_name;
      }
    }
		if (do_validate == true) {
	    url += url2;
	    //alert("url: " + url);
	    http.open('get', url);
	    http.onreadystatechange = handleResponse;
	    http.send(null);
  	}
}

function handleResponse() {
    if(http.readyState == 4){
        var response = http.responseText;
    	//alert('ready4: ' + response);
        var UPDATE = new Array();
        <!--LOOP THROUGH THE RESPONSES-->
        if(response.indexOf('|' != -1)) {
            UPDATE = response.split('|');
            //alert("response: [" + UPDATE[1].substr(0,6) + "]");
            if(UPDATE[1].substr(0,6) != '!error'){
            	  problemCount = problemCount + 1;
            	  //alert("found problem: [" + UPDATE[1] + "]");
                document.getElementById(UPDATE[0]).className = 'error';
                document.getElementById(UPDATE[0]+'_container').innerHTML = UPDATE[1];
                dispSubmit(UPDATE[0],'add');
            }else if(UPDATE[1].substr(0,6) == '!error'){
                if(document.getElementById(UPDATE[0]).className != 'skipped'){
                    document.getElementById(UPDATE[0]).className = 'noclass';
                }
                document.getElementById(UPDATE[0]+'_container').innerHTML = "";
                //if(trimString(document.getElementById(UPDATE[0]+'_container').value) != ""){
                    dispSubmit(UPDATE[0],'remove');
                //}
            }
        }
    }
}
<!--END AJAX--> 