KeyCodes = {
	Backspace : 8,
	Escape : 27,
	Left : 37,
	Right : 39,
	Up : 38,
	Down : 40,
	Home : 36,
	End : 35,
	Delete : 46,
	Insert : 45,
	Space : 32,
	Tab : 9
	}

function JumpToNext(firstField, nextField){
	
	if(typeof(firstField) == 'string'){
		firstField = document.getElementById(firstField);
		}
	if(typeof(nextField) != 'string'){
		nextField = nextField.id;
		}
	
	if(!(firstField && nextField)){
		return false;
		}
	
	firstField.setAttribute('jumpto', nextField);
	Utilities.AddEvent(firstField, 'keypress', function(evt){
														
		var evt = new Utilities.Event(evt);
		var el = evt.target;
		var key = evt.which;
		var limit = el.getAttribute('maxlength');
		var next = document.getElementById(el.getAttribute('jumpto'));
		var action;
		var force;
		var cursor = new Utilities.Selection({
			Element : el
			}).Start;
		
		switch(key){
			
			case KeyCodes.Backspace:
			case KeyCodes.Escape:
			case KeyCodes.Left:
			case KeyCodes.Right:
			case KeyCodes.Up:
			case KeyCodes.Down:
			case KeyCodes.Home:
			case KeyCodes.End:
			case KeyCodes.Delete:
			case KeyCodes.Insert:
				action = false;
				break;
			
			case KeyCodes.Space:
				action = true;
				force = true;
				break;
			
			case KeyCodes.Tab:
				action = !evt.shiftKey;
				force = true;
				break;
			
			default:
				action = true;
				break;
			}
		
		if(action){
			if(force){
				evt.preventDefault();
				next.focus();
				next.select();
				}
			else if(cursor >= (limit - 1)){
				next.focus();
				next.select();
				}
			}
		});

	Utilities.AddEvent(nextField, 'keypress', function(evt){
														
		var evt = new Utilities.Event(evt);
		var el = evt.target;
		var key = evt.which;
		
		if(key == KeyCodes.Space){
			evt.preventDefault();
			}
		});
	}
	
function validate(reg_form){

	var title = reg_form.title;
	var firstname = reg_form.firstname;
	var surname = reg_form.surname;
	var add1 = reg_form.add1;
	var add2 = reg_form.add2;
	var county = reg_form.county;
	var postcode1 = reg_form.post1;
	var postcode2 = reg_form.post2;
	
	if(title.value == ""){
		alert("Please enter your title");
		title.focus();
		return false;
		}
	
	if(firstname.value == ""){
		alert("Please enter your firstname");
		firstname.focus();
		return false;
		}
	
	if(surname.value == ""){
		alert("Please enter your surname");
		surname.focus();
		return false;
		}
	
	if(add1.value == ""){
		alert("Please enter the first line of your address");
		add1.focus();
		return false;
		}
	
	if(add2.value == ""){
		alert("Please enter the second line of your address");
		add2.focus();
		return false;
		}
	
	if(county.value == ""){
		alert("Please enter your county");
		county.focus();
		return false;
		}
	
	if(postcode1.value == ""){
		alert("Please enter your postcode");
		postcode1.focus();
		return false;
		}
	
	if(postcode2.value == ""){
		alert("Please enter your full postcode");
		postcode2.focus();
		return false;
		}
	}

