// Javascript trim.
function trim(sString)
{
	return sString.replace(/^\s+|\s+$/g, "");
}

// Check if editbox exists and is not empty.
function is_empty(edtBox, sMessage)
{
	if (trim(edtBox.value) != '')
	{
		return false;
	}
	else
	{
		alert(sMessage);
		edtBox.focus();
		return true;
	}
}

// Check if at least one editbox is filled.
function is_empty_both(edtBox, edtBox2, sMessage)
{
	if (trim(edtBox.value) != '' || trim(edtBox2.value) != '')
	{
		return false;
	}
	else
	{
		alert(sMessage);
		edtBox.focus();
		return true;
	}
}

// Check if editbox value min-length is valid.
function is_valid_min_length(edtBox, iMinLength, sMessage)
{
	if (trim(edtBox.value).length >= iMinLength)
	{
		return true;
	}
	else
	{
		alert(sMessage);
		edtBox.focus();
		return false;
	}
}

// Check if editbox value max-length is valid.
function is_valid_max_length(edtBox, iMaxLength, sMessage)
{
	if (trim(edtBox.value).length <= iMaxLength)
	{
		return true;
	}
	else
	{
		alert(sMessage);
		edtBox.focus();
		return false;
	}
}

// Check if editboxes have the same content.
function is_equal(edtBox1, edtBox2, sMessage)
{
	if (trim(edtBox1.value) == trim(edtBox2.value))
	{
		return true;
	}
	else
	{
		alert(sMessage);
		edtBox1.focus();
		return false;
	}
}

// Check if checkbox is checked.
function is_checked(cbBox, sMessage)
{
	if (cbBox.checked)
	{
		return true;
	}
	else
	{
		alert(sMessage);
		return false;
	}
}

// Validate e-mail.
function is_valid_email(edtBox, sMessage)
{
	apos = edtBox.value.indexOf("@");
	dotpos = edtBox.value.lastIndexOf(".");
	
	if (apos < 1 || dotpos-apos < 2) 
	{
		alert(sMessage);
		edtBox.focus();
		return false;
	}
	else
	{
		return true
	}
}

// Is e-mail valid.
function emailIsValid(sEmail)
{
	return sEmail.match(/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i);
}