function is_empty(str) {
    return (str.search("^[ ]*$") != -1);
}

function is_email(str) {    
    return (str.search("^.+@.+\\..+$") != -1);
}
function is_zip(str) {
	return (str.search("^[0-9]{5}$") != -1);
}

// Validate the given user form (creation, editation)
function validateUserForm(form)
{
	// Setting every holding variable as correct
	form.name.className = '';
	form.surname.className = '';
	form.login.className = '';
	form.password.className = '';
	form.verification.className = '';
	form.email.className = '';
	form.invoice_street.className = '';
	form.invoice_town.className = '';
	form.invoice_zip.className = '';

	// Hold the error state
	var error = false;

	// Now checking the items
	if(is_empty(form.name.value))
	{
		form.name.className = 'inputerror';
		error = true;
	}
	if(is_empty(form.surname.value))
	{
		form.surname.className = 'inputerror';
		error = true;
	}
	if(is_empty(form.login.value))
	{
		form.login.className = 'inputerror';
		error = true;
	}
	if(!is_email(form.email.value))
	{
		alert(LANG['admin_email_invalid']);
		form.email.className = 'inputerror';
		error = true;
	}
	if(is_empty(form.invoice_street.value))
	{
		form.invoice_street.className = 'inputerror';
		error = true;
	}
	if(!is_zip(form.invoice_zip.value))
	{
		alert(LANG['admin_zip_invalid']);
		form.invoice_zip.className = 'inputerror';
		error = true;
	}
	if(is_empty(form.invoice_town.value))
	{
		form.invoice_town.className = 'inputerror';
		error = true;
	}
	// Is this edit form or add form?
	if(form.change_password)
	{
		// Edit form, so aply checks only if the operator wants to change password
		if(form.change_password.checked)
		{
			if(is_empty(form.password.value))
			{		
				form.password.className = 'inputerror';
				error = true;
			}
			if(is_empty(form.verification.value))
			{
				form.verification.className = 'inputerror';
				error = true;
			}
			if(form.password.value != form.verification.value)
			{
				alert(LANG['admin_password_mishmash']);
				form.password.className = 'inputerror';
				form.verification.className = 'inputerror';
				error = true;
			}
		}
	} else {
		// Add form, check all
		if(is_empty(form.password.value))
		{
			form.password.className = 'inputerror';
			error = true;
		}
		if(is_empty(form.verification.value))
		{
			form.verification.className = 'inputerror';
			error = true;
		}
		if(form.password.value != form.verification.value)
		{
			alert(LANG['admin_password_mishmash']);
			form.password.className = 'inputerror';
			form.verification.className = 'inputerror';
			error = true;
		}
	}


	// Is everything OK?
	if(error)
	{
		alert(LANG['admin_missing_items']);
		return false;
	}
	else
	{
		return true;
	}
}

