// Scripts for registration form management

function checkLoginForm(obj) {
	with(obj) {
		if (login.value.length == 0) { return Wrong(login, "Please enter login."); }
		if (password.value.length == 0) { return Wrong(password, "Please enter password."); }
	}

	return true;
}

function check1step(obj) {
	with(obj) {
		if (first_name.value.length == 0) { return Wrong(first_name, "Please enter your name."); }
		else
		if (last_name.value.length == 0) { return Wrong(last_name, "PLease enter last name."); }
		else
		if (!checkMail(email.value)) { return Wrong(email, "Please enter valid email address."); }
		else
		if (email.value != confirm_email.value) { return Wrong(confirm_email, "Email addresses do not match."); }
		else
		if (login.value.length == 0) { return Wrong(login, "PLease enter your user name."); }
		else
		if (password.value.length < 6) { return Wrong(password, "Password must have 6 characters."); }
		else
		if (password.value != password2.value) { return Wrong(password2, "Passwords do not match."); }
		else
		if (hint_answer.value.length == 0) { return Wrong(hint_answer, "Please answer the password hint question."); }
		else
			return true;
	}

}

function check1stepNew(obj) {
	with(obj) {
		if (first_name.value.length == 0) { return Wrong(first_name, "Please enter your name."); }
		else
		if (last_name.value.length == 0) { return Wrong(last_name, "PLease enter last name."); }
		else
		if (!checkMail(email.value)) { return Wrong(email, "Please enter valid email address."); }
		else
		if (email.value != confirm_email.value) { return Wrong(confirm_email, "Email addresses do not match."); }
		else
		if (login.value.length == 0) { return Wrong(login, "PLease enter your user name."); }
		else
		if (!checklogin(login.value)) { return Wrong(login, "User name must have at least 4 characters. Characters ', \", <, >, `, %, # are not allowed."); }
		else
		if (!checkpwd(password.value)) { return Wrong(password, "Your password must have at least 6 characters including 1 number. Characters ', \", <, >, `, %, # are not allowed."); }
		else
		if (password.value != password2.value) { return Wrong(password2, "Passwords do not match."); }
		else
		if (hint_answer.value.length == 0) { return Wrong(hint_answer, "Please answer the password hint question."); }
		else
			return true;
	}

}

function checkpwd(pwd) {
 if(pwd.length<6) return false;
 
 var regExp = new RegExp(/['"<>`%#]/g);
 var regExp2 = new RegExp(/\d/g);
 return (!regExp.test(pwd) && regExp2.test(pwd));
}

function checklogin(login) {
 if(login.length<4) return false;
 var regExp = new RegExp(/['"<>`%#]/g);
 return (!regExp.test(login));
}

function check_update(obj) {
	with(obj) {
		if (first_name.value.length == 0) { return Wrong(first_name, "Please enter your name."); }
		else
		if (last_name.value.length == 0) { return Wrong(last_name, "PLease enter last name."); }
		else
		if (!checkMail(email.value)) { return Wrong(email, "Please enter valid email address."); }
		else
		if (email.value != confirm_email.value) { return Wrong(confirm_email, "Email addresses do not match."); }
		else
		if (login.value.length == 0) { return Wrong(login, "PLease enter your user name."); }
		else
		if (!checklogin(login.value)) { return Wrong(login, "User name must have at least 4 characters. Characters ', \", <, >, `, %, # are not allowed."); }
		else
		if (!checkpwd(password.value)) { return Wrong(password, "Your password must have at least 6 characters including 1 number. Characters ', \", <, >, `, %, # are not allowed."); }
		else
		if (password.value.length > 0 && password.value != password2.value) { return Wrong(password2, "Passwords do not match."); }
		else
		if (!checkPhoneNumber(phone.value)) { return Wrong(phone, "Please enter valid phone number."); }
		else
			return true;
	}

}

function check2step(obj) {
	with(obj) {
		if (!(phone.value>"")) { return Wrong(phone, "Please enter valid phone number."); }
		else
			return true;
	}
}

function checkMail(mail) {
	var myRegExp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
	return myRegExp.test(mail);
}

function checkPhoneNumber(phone) {
	var result = (phone != "(000) 000-000");
	for(var i = 0; i < phone.length; i++) {
		if (phone.charAt(i) != '(' && phone.charAt(i) != ')' && phone.charAt(i) != '-' && phone.charAt(i) != ' ' && isNaN(parseInt(phone.charAt(i)))) { result = false; }
	}
	return (result || phone.length == 0);
}

function Wrong(obj, message) {
	alert(message);
	obj.focus();
	return false;
}

function from2to1() {
	setStep(1);
	document.forms.regForm.submit();
}

function setStep(_step) {
	document.getElementById("step_in").value = _step;
}
