function NewAJAXRequest(requestHandler, method, url)
{
        var xmlhttp;

        if(window.ActiveXObject)
                xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
        else if(window.XMLHttpRequest)
                xmlhttp = new XMLHttpRequest();

        if(xmlhttp)
        {
                xmlhttp.open(method, url, true);

                if(method == 'POST')
                        xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded;');

                xmlhttp.onreadystatechange = function() { requestHandler(xmlhttp); }
        }

        return xmlhttp;
}

function NewStandardAJAXRequest(okHandler, method, url)
{
        var handler = function(xmlhttp)
        {
                if(xmlhttp.readyState == 4)
                        if(xmlhttp.status == 200)
                                okHandler(xmlhttp.responseText);
        }

        return NewAJAXRequest(handler, method, url);
}

function validateForm(name)
{
	var div = document.getElementById('formError');
	div.innerHTML = '';
	if(!document.forms[name])
	{
		div.innerHTML = '<span>Error:</span><ul><li>There was an error submitting your form, please reload the page and try again</li></ul>';
	}
	else
	{
		var queryStr = '&formName='+name+"&validate=1";
		for(var i = 0; i < document.forms[name].length ; i++)
		{
			if(document.forms[name][i].value)
			{
				if(document.forms[name][i].type == 'checkbox')
					queryStr += "&"+document.forms[name][i].name+"="+document.forms[name][i].checked;
				else
					queryStr += "&"+document.forms[name][i].name+"="+document.forms[name][i].value;
			}
		}
	
		var url = '/lib/formActions/formPost.php';
		var xmlhttp = NewStandardAJAXRequest(validateFormHandler, 'POST', url);
		xmlhttp.send(queryStr);
	}

	return false;
}

function validateFormHandler(response)
{
	var result = JSON.parse(response);
	
	if(typeof result.submit == 'number' && result.submit == 1 && typeof document.forms[result.formName] == 'object' && (result.formName == 'schoolRegForm' || result.formName == 'univRegForm' || result.formName == 'commRegForm' || result.formName == 'busRegForm'))
	{
		document.forms[result.formName].action = '/lib/formActions/formPost.php';
		document.forms[result.formName].elements['process'].value = 'Submit';
		document.forms[result.formName].submit();
	}
	else if(typeof result.msg == 'object')
	{ 
		var div = document.getElementById('formError');
		div.innerHTML = '<ul>';

		for(var i = 0; i < result.msg.length ; i++)
		{
			div.innerHTML += '<li>'+result.msg[i]+'</li>';
		}

		div.innerHTML += '</ul><hr /><br /></div>';

		window.scroll(div.offsetLeft, div.offsetTop);
	}

	return false;
}

function jsCheck(formName)
{
	document.getElementById('submit_button').innerHTML = '<input type="button" name="Submit" value="Submit" onclick="validateForm(\''+formName+'\');">';
}
