function Message(msg, input)
{
	alert (msg);
	if (!input.disabled)
		input.focus();
}

function isDate(year, month, day) {
  var foo = new Date(year, month, day)
    
  return ( foo.getDate() == day && foo.getMonth() == month );
}

function RequiredTxt(msg, input)
{
	if (Trim(input.value) == "")
	{  
		Message(msg, input)
		return false;
	}
	return true;
}

function RequiredCbo(msg, combo)
{
	if (combo.selectedIndex == -1 || combo.options[combo.selectedIndex].value == "")
	{
		Message(msg, combo)
		return false;
	}
	return true;  
}

function RequiredNumber(msg, input)
{
	if (Trim(input.value) == "")
	{  
		Message(msg, input)
		return false;
	}

	if (isNaN(input.value))
	{
		Message(msg, input)
		return false;
	}
	return true;  
}

//Requiere de date.js
function RequiredDMY(msg, input)
{
  if (Trim(input.value) == "")
  {  
    Message(msg, input)
    return false;
  }
  else 
    if (!IsValidDMY(input.value))
			{
			Message(msg, input)
			return false;
			}
    else
      return true;  
}


function RequiredEmail(msg, input)
{
  if (Trim(input.value) == "")
  {  
    Message(msg, input)
    return false;
  }
  else 
    if (!IsEmail(input.value))
			{
			Message(msg, input)
			return false;
			}
    else
      return true;  
}

function IsEmail(sMail)
{
	var ret;

	if (sMail.length == 0)
		return false;
	
	var iLastPos = sMail.length - 1;

	ret = true;

	for (var iPos = 0; iPos <= iLastPos; iPos++)
		if (sMail.charAt(iPos) < "!" || sMail.charAt(iPos) > "~")
		ret = false;

	iPos = sMail.indexOf("@");
	if (iPos < 1 || iLastPos == iPos || sMail.charAt(iLastPos) == "." ||
		sMail.indexOf("@", iPos + 1) >= 0 || sMail.indexOf(".", iPos + 1) < iPos + 2)
		ret = false;

	return ret;				
}