function getbyid(id)
{
	return document.getElementById(id);
}

function removeErr(e, i)
{
	e.style.border = "1px solid #008000";
	if (getbyid('div' + i))
		e.parentNode.removeChild(jQuery('div' + i));
}

function createErr(e, i, message)
{
	if (!getbyid('div' + i)) {
		var div = document.createElement('div');
		div.innerHTML = message;
		div.id = 'div' + i;
		e.parentNode.insertBefore(div, e);
		e.style.border = "1px solid red";
	} else 
		getbyid('div' + i).innerHTML = message;
}

function checkValues()
{
	var b = true;

	var i = 0;
	jQuery('*.validate').each ( function () {
		if(jQuery(this).hasClass('required-entry')) {
			if (this.value == '') {
				createErr(this, i, "This is a required field");
				b = false;
			} else {
				removeErr(this, i);
			}
		}
		if (jQuery(this).hasClass('email')) {
			var email = this.value.toLowerCase();
			var regexp = new RegExp("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})");
			if (!regexp.test(email)) {
				createErr(this, i, "This is not a valid email address");
				b = false;
			} else {
				removeErr(this, i);
			}
		}
		if (jQuery(this).hasClass('number')) {
			var regex = new RegExp("^([0-9]+)jQuery");
			if (!regex.test(e[i].value)) {
				createErr(this, i, "This is not a number");
				b = false;
			} else 
				removeErr(this, i);
		}
		if (jQuery(this).hasClass('checkbox')) {
			if (this.checked == false) {
				createErr(this, i, "You have to tick this box in order to proceed:");
				b = false;
			} else {
				if (getbyid('div7')) {
					getbyid('div7').parentNode.removeChild(getbyid('div7'));
				}
			}
		}
		i++;
	});

	var pass1 = jQuery('input#pass1').val();
	var pass2 = jQuery('input#pass2').val();
	
	if (pass1 != pass2) {
		createErr(getbyid('pass2'), -2, "The passwords do not match");
		b = false;
	} else {
		removeErr(getbyid('pass2'), -2);
	}
	
	var email = jQuery('input#email').val();
	var email_conf = jQuery('input#email_conf').val();
	if (email != email_conf && email != '') {
		createErr(getbyid('email_conf'), -1, "The email addresses do not match");
		return false;
	} else {
		removeErr(getbyid('email_conf'), -1);
	}

	return b;
}


