
window.onerror = function(msg, err_url, line) {alert('Unknown Error :) ' + line);}


function makeObject() {
var x;
var browser = navigator.appName;
if(browser == "Microsoft Internet Explorer")
	{
	x = new ActiveXObject("Microsoft.XMLHTTP");
	} else {
	x = new XMLHttpRequest();
	}
	return x;
}
 
var request = makeObject();

function post_method() {


var firstname = document.regform.firstname.value;
var surname = document.regform.surname.value;
var addr_1 = document.regform.addr_1.value;
var town = document.regform.town.value;
var county = document.regform.county.value;
var postcode = document.regform.postcode.value;
var tel = document.regform.tel.value;
var email = document.regform.email.value;
var email2 = document.regform.email2.value;
var password = document.regform.password.value;
var password2 = document.regform.password2.value;
var turing = document.regform.turing.value;

document.getElementById('btndiv').innerHTML = '<input type="button" value="registering account..." class="button" disabled="disabled">';


request.open('post', 'ajax/validate_register.php');
request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
request.onreadystatechange = output;
request.send('firstname='+firstname+
			 '&surname='+surname+
			 '&addr_1='+addr_1+
			 '&town='+town+
			 '&county='+county+
			 '&postcode='+postcode+
			 '&tel='+tel+
			 '&email='+email+
			 '&email2='+email2+
			 '&password='+password+	
			 '&password2='+password2+		 
			 '&turing='+turing);

}


function output()
{

	
if(request.readyState == 4)
	{
	var errorstring = request.responseText;	
		
	var errorarray = new Array();
	errorarray = errorstring.split('??');
	
	var okvar = 0;

	for ( var i = 0; i < errorarray.length; i++ )
		{
	
		var errorline = new Array();
		errorline = errorarray[i].split('::');
	
		var errorfield = errorline[0];
		var errordetail = errorline[1];		
		

		//HANDLE REQUIRED FIELDS
		if (errordetail == 'Required') {
		document.getElementById('warn_' + errorfield).innerHTML = errordetail;
		}
		
		
		//HANDLE FIELD ERRORS
		if (errordetail == 'Error') {
			document.getElementById('warn_' + errorfield).innerHTML = '';
		
			switch (errorfield) {
				case 'turing':
					alert('The code you have entered does not match the image.');
					break;
					
				case 'password':
					alert('The password entered is to short. You must use at least 5 characters.');
					break;
					
				case 'password2':
					alert('The passwords you have entered do not match.');
					break;
					
				case 'email':
					alert('The email you have entered is invlaid. Please use \'user@domain.com\'.');
					break;			
				
				case 'email2':
					alert('The emails you have entered do not match.');
					break;	
			}
		
		
		}
		
		//INCREMENT OK COUNT
		if (errordetail == 'ok') {
		document.getElementById('warn_' + errorfield).innerHTML = '';
		okvar++;
		}			

		}
		
	if (okvar == errorarray.length) {
	document.regform.submit();
	}
	
	document.getElementById('btndiv').innerHTML = '<input type="button" name="Button" value="register account" onClick="post_method()" class="button">';	
	//document.getElementById('errordiv').innerHTML = errorarray.length+" "+okvar+" "+errorstring;
	}	
	
}