function commonChecks() {
	var retVal = true;

	if (isEmpty($("#fname").val())) {
		showErr("fname", "Please enter your first name");
		retVal = false;
	} else { hideErr("fname"); }

	if (isEmpty($("#lname").val())) {
		showErr("lname", "Please enter your last name");
		retVal = false;
	} else { hideErr("lname"); }

	if (isEmpty($("#email").val())) {
		showErr("email", "Please enter an email address");
		retVal = false;
	} else if (!validateEmailString($("#email").val())) {
		showErr("email", "Invalid email address");
		retVal = false;
	} else { hideErr("email"); }

	if (!isEmpty($("#phone").val())){
		if (!validatePhoneLen($("#phone").val())) {
			showErr("phone", "Phone number must contain at least 10 digits. Include your country and area code");
			retVal = false;
		}
		else if (!validatePhone($("#phone").val())) {
			showErr("phone", "Phone number is not properly formatted");
			retVal = false;
		} else { hideErr("phone"); }		
	} else { hideErr("phone"); }
	
	if (isEmpty($("#url").val())) {
		showErr("url", "Please enter your existing site URL");
	} else if (!validateURLString($("#url").val())) {
		showErr("url", "URL address is invalid. Make sure it starts with http:// or https://");
		retVal = false;
	} else { hideErr("url"); }
		
	return retVal;
}

function validateUpdate() {
	var retVal = true;

	retVal = commonChecks();

	if (!isEmpty($("#newPass").val()) || !isEmpty($("#newPassConf").val())) {
		if (isEmpty($("#password").val())) {
			showErr("password", "Please enter current password");
			retVal = false;
		} else if (jQuery.trim($("#password").val()).length < 8) {
			showErr("password", "Password must be at least 8 characters long");
			retVal = false;
		} else { hideErr("password"); }

		if (isEmpty($("#newPass").val())) {
			showErr("newPass", "Please enter a new password");
			retVal = false;
		} else if (jQuery.trim($("#newPass").val()).length < 8) {
			showErr("newPass", "Password must be at least 8 characters long");
			retVal = false;
		} else { hideErr("newPass"); }
		
		if (isEmpty($("#newPassConf").val())) {
			showErr("newPassConf", "Please confirm password");
			retVal = false;
		} else if ($("#newPass").val() != $("#newPassConf").val()) {
			showErr("newPassConf", "Passwords don't match");
			retVal = false;
		} else { hideErr("newPassConf"); }
	}
	
	if (!retVal) {
		$("#topError").text("Please correct the errors below");
		$(window).scrollTop(0);
	}
	
	return retVal;
}

function validateForm() {
	var retVal = true;

	retVal = commonChecks();
	
	if (isEmpty($("#emailConf").val())) {
		showErr("emailConf", "Please confirm email address");
		retVal = false;
	} else if ($("#email").val() != $("#emailConf").val()) {
		showErr("emailConf", "Emails don't match");
		retVal = false;
	} else { hideErr("emailConf"); }

	if (isEmpty($("#password").val())) {
		showErr("password", "Please enter a password");
		retVal = false;
	} else if (jQuery.trim($("#password").val()).length < 8) {
		showErr("password", "Password must be at least 8 characters long");
		retVal = false;
	} else { hideErr("password"); }
	
	if (isEmpty($("#passConf").val())) {
		showErr("passConf", "Please confirm password");
		retVal = false;
	} else if ($("#password").val() != $("#passConf").val()) {
		showErr("passConf", "Passwords don't match");
		retVal = false;
	} else { hideErr("passConf"); }
	
	if (!$("#acceptterms")[0].checked) {
		showErr("acceptterms", "You must read and accept the terms of service before registration approval");
		retVal = false;
	} else { hideErr("acceptterms"); }
	
	if (!retVal) {
		$("#topError").text("Please correct the errors below");
		$(window).scrollTop(0);
	}
	
	return retVal;
}

function validateResetPass() {
	var retVal = true;

	if (isEmpty($("#password").val()) || isEmpty($("#passConf").val())) {
		showErr("password", "Please enter a new password and confirmation it");
		retVal = false;
	} else if (jQuery.trim($("#password").val()).length < 8) {
		showErr("password", "Password must be at least 8 characters long");
		retVal = false;
	} else if ($("#password").val() != $("#passConf").val()) {
		showErr("password", "Passwords do not match");
		retVal = false;
	} else { hideErr("password"); }
	
	return retVal;
}

$(document).ready(function(){
	initLoginsAndForgot();
});

