$(document).ready(function(e) {
	$('.form-field.select-or-input').each(function(index, element) {
		checkSelectOrInputField($(this));
	});
	$('.form-field.select-or-input select').change(function(e) {
		checkSelectOrInputField($(this).closest('.form-field.select-or-input'));
	});
});

function validateEmail(email, required)
{
	if (required !== false) required = true;
	
	if (required && emptyField(email)) return false;
	
	if (!email.match(/^([.A-z0-9_-]+)+[@][A-z0-9_-]+([.][A-z0-9_-]+)*[.][A-z]{2,4}$/))
	{
		return false;
	}
	
	return true;
}

function validatePassword(password)
{
	if (password.length < 8) return false;

	if (!password.match(/[0-9]+/)) return false;

    if (!password.match(/[a-z]+/)) return false;

    if (!password.match(/[A-Z]+/)) return false;

	return true;
}

function emptyField(value)
{
	if (parseInt(value.length) <= 0) return true;
	
	return false;
}

function checkSelectOrInputField(fieldWrapper)
{
	if (fieldWrapper.find('select').val())
	{
		fieldWrapper.find('input').slideUp(200);
	}
	else
	{
		fieldWrapper.find('input').slideDown(200);
		fieldWrapper.find('input').focus();
	}
}