function isEmailAddr(email)
{
  var result = false;
  var theStr = new String(email);
  var index = theStr.indexOf("@");
  if (index > 0)
  {
    var pindex = theStr.indexOf(".",index);
    if ((pindex > index+1) && (theStr.length > pindex+1))
	result = true;
  }
  return result;
}

function validRequired(formField)
{
	var result = true;
	if (formField.value == "")
	{
		localeAlert(errCodeDefault_652,errCode_652);
		formField.focus();
		result = false;
	}
	
	return result;
}

function allDigits(str)
{
	return inValidCharSet(str,"0123456789");
}

function inValidCharSet(str,charset)
{
	var result = true;
	// Note: doesn't use regular expressions to avoid early Mac browser bugs	
	for (var i=0;i<str.length;i++)
		if (charset.indexOf(str.substr(i,1))<0)
		{
			result = false;
			break;
		}
	
	return result;
}

function validEmail(formField,required)
{
	var result = true;
	
	if (required && !validRequired(formField))
		result = false;

	if (result && ((formField.value.length < 3) || !isEmailAddr(formField.value)) )
	{
		localeAlert(errCodeDefault_651,errCode_651);
		formField.focus();
		result = false;
	}
   
  return result;

}

function validNum(formField,required)
{
	var result = true;
	
	if (required && !validRequired(formField))
		result = false;
 	if (result)
 	{
 		if (!allDigits(formField.value))
 		{
 			localeAlert(errCodeDefault_653,errCode_653);
			formField.focus();		
			result = false;
		}
	} 
	return result;
}


function validInt(formField,required)
{
	var result = true;

	if (required && !validRequired(formField))
		result = false;
  
 	if (result)
 	{
 		var num = parseInt(formField.value,10);
 		if (isNaN(num))
 		{
 			localeAlert(errCodeDefault_653,errCode_653);
			formField.focus();		
			result = false;
		}
	} 
	
	return result;
}

/**
function to validate that the entered date is less than the sysdate 
**/
function validSysdate(formField,required,flag)
{
	var result = true;
	
	if (required && !validRequired(formField))
		result = false;
  
 	if (result)
 	{
 		var elems = formField.value.split("/");
 		
 		result = (elems.length == 3); // should be three components
 		
 		if (result)
 		{
 			var day = parseInt(elems[0],10);
  			var month = parseInt(elems[1],10);
 			var year = parseInt(elems[2],10);

			var now = new Date();
			var entered = new Date(year,month-1,day);

			if (flag == 'L')
			{
				if(entered > now)
					result = false;
			}
			else if (flag == 'G')
			{
				day = day + 1;
				entered = new Date(year,month-1,day);
				if(entered <= now)
					result = false;
			}							
		}
 		
  		if (!result)
 		{
			if (flag == 'L')
			{
				localeAlert(errCodeDefault_654,errCode_654);
				formField.focus();	
			}
			else if(flag == 'G')
			{
				localeAlert(errCodeDefault_655,errCode_655);
				formField.focus();	
			} 				
		}
	} 
	
	return result;

}function validSysdate(formField,fieldLabel,required,flag){	var result = true;		if (required && !validRequired(formField,fieldLabel))		result = false;   	if (result) 	{ 		var elems = formField.value.split("/"); 		 		result = (elems.length == 3); // should be three components 		 		if (result) 		{ 			var day = parseInt(elems[0],10);  			var month = parseInt(elems[1],10); 			var year = parseInt(elems[2],10);			var now = new Date();			var entered = new Date(year,month-1,day);						if (flag == 'L')			{				if(entered > now)					result = false;			}			else if (flag == 'G')			{				day = day + 1;				entered = new Date(year,month-1,day);				if(entered <= now)					result = false;			}									} 		  		if (!result) 		{			if (flag == 'L')			{				alert(fieldLabel +' cannot be greater than System Date.');				formField.focus();				}			else if(flag == 'G')			{				alert(fieldLabel +' cannot be less than System Date.');				formField.focus();				} 						}	} 		return result;}

function validDate(formField,required)
{
	var result = true;

	if (required && !validRequired(formField))
		result = false;
  
 	if (result)
 	{
 		var elems = formField.value.split("/");
 		
 		result = (elems.length == 3); // should be three components
 		
 		if (result)
 		{
 			var day = parseInt(elems[0],10);
  			var month = parseInt(elems[1],10);
 			var year = parseInt(elems[2],10);
			result = allDigits(elems[0]) && (month > 0) && (month < 13) &&
					 allDigits(elems[1]) && (day > 0) && (day < 32) &&
					 allDigits(elems[2]) && ((elems[2].length == 2) || (elems[2].length == 4));
 		}
 		
  		if (!result)
 		{
 			localeAlert(errCodeDefault_656,errCode_656);
			formField.focus();		
		}
	} 
	
	return result;
}

function localeAlert(def,loc)
{
	if(loc != '')
	{
		alert(loc);
	}
	else
	{
		alert(def);
	}
}

function localeConfirm(def,loc)
{
	if(loc != '')
	{
		return confirm(loc);
	}
	else
	{
		return confirm(def);
	}
}