function notice(x, speed) {
	x.fadeOut(speed,function () {x.fadeIn(speed, function () {x.fadeOut(speed, function () {x.fadeIn(speed);});});});
}

function fieldOK(x) {
	x.removeClass("wrong");
}

function fieldWrong(x) {
	x.addClass("wrong");
	notice(x, 200);
}

function ValidateForm() {
	var mail_reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
	var alphanumeric_reg = /([^A-Za-z0-9_])/;
	var c4_reg = /\w{4}/;

	errors = "";
	
	// Check first name
	if ($("#txtFName").val() == "") {
		fieldWrong($("#txtFName"));
		errors += "First name is a mandatory field<br />\n";
	} else {
		fieldOK($("#txtFName"));
	}
	
	// Check last name
	if ($("#txtLName").val() == "") {
		fieldWrong($("#txtLName"));
		errors += "Last name is a mandatory field<br />\n";
	} else {
		fieldOK($("#txtLName"));
	}
	
	// Check email
	if ($("#txtEmail").val() == "" || mail_reg.test($("#txtEmail").val()) == false) {
		fieldWrong($("#txtEmail"));
		errors += "Please enter a valid Email address<br />\n";
	} else {
		fieldOK($("#txtEmail"));
	}
	
	// Check username
	if (c4_reg.test($("#txtUser").val()) == false) {
		fieldWrong($("#txtUser"));
		errors += "User name is a mandatory and must be more than 4 characters<br />\n";
	} else if (alphanumeric_reg.test($("#txtUser").val())) {
		fieldWrong($("#txtUser"));
		errors += "User name must contain alphanumeric or the underscore (_) cahracters only<br />\n";
	} else {
		fieldOK($("#txtUser"));
	}

	if (errors) {
		$("#formErrors").html(errors);
		$("#formErrors").slideDown();
		return false;
	} else {
		return true;
	}
}

jQuery(document).ready(function() {
	$('#txtPass1').keyup(function(){
		$('#passStrength').html(passwordStrength($('#txtPass1').val(),$('#txtUser').val()))
		switch ($('#passStrength').html()) {
			case "Good":
				$('#passStrength').css("color","#e28000");
				break
			case "Strong":
				$('#passStrength').css("color","#12be00");
				break
			default:
				$('#passStrength').css("color","#f21100");
		}
	});
	
	$('#txtUser').keyup(function(){
		$('#userAvail').html("Check availability");
		$('#userAvail').addClass("linkstyle");
	});
	
	$('#userAvail').click(function(){
		if ($('#userAvail').html() == "Check availability") {
			$('#userAvail').removeClass("linkstyle");
			$('#userAvail').html("Checking availability, please wait...")
			$.ajax({
				type: "POST",
				url: "ajax/useravail.php",
				data: "username=" + $("#txtUser").val(),
				success: function (msg) {
					$('#userAvail').html(msg);
				}
			});
		}
	});
	
	//Zebre the table
	$('#productDetails tr:odd').addClass("even");
});