function validateString(field, msg, min, max)
{
  if (!min) { min = 1 }
  if (!max) { max = 65535 }
  if (!field.value || field.value.length < min ||
       field.value.max > max)
  {
		alert(msg);
		field.focus();
		field.select();
		return false;
  }

  return true;
}

function validateSelect(field, msg)
{
  if (field.selectedIndex<=0)
  {
		alert(msg);
		return false;
  }

  return true;
}

function validateEmail(email, msg, optional)
{
  if (!email.value && optional)
  {
    return true;
  }

  var re_mail = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z])+$/;
  if (!re_mail.test(email.value))
  {
		alert(msg);
		email.focus();
		email.select();
		return false;
  }
  return true;
}

function validateEmailsSame(emaila, emailb, msg)
{
  if (emaila.value!=emailb.value)
  {
    alert(msg);
	emailb.focus();
	emailb.select();
	return false;
  }

  return true;
}

function validateStringsSame(stra, strb, msg)
{
  if (stra.value!=strb.value)
  {
    alert(msg);
	strb.focus();
	strb.select();
	return false;
  }

  return true;
}

function validatePasswordsSame(passa, passb, msg)
{
  if (passa.value!=passb.value)
  {
    alert(msg);
	passb.focus();
	passb.select();
	return false;
  }

  return true;
}

function validateDate(date,msg)
{
  var re_date = /^([2-9][0-9][0-9][0-9])[-](0[1-9]|1[0-2])[-](0[1-9]|[12][0-9]|3[0-1])$/;
  if (!re_date.test(date.value) || !date.value || field.value.length != 10) 
  {
	alert(msg);
	date.focus();
	date.select();
	return false;
  }

  return true;
}
