//
// Validation and Form Methods
//
function trim(str)
{
   return str.replace(/^\s*|\s*$/g,"");
}

function matchFormula(value, formula)
{
	return (value.match(formula)==null);
}

function matchNumeric(value)
{
	return (value.match(/[^\d\-\.]+/)==null);
}

function matchAlphaNumeric(value)
{    
    return matchAlphaNumeric(value,true);
}

function matchAlphaNumeric(value, withPeriod)
{
    withPeriod=(withPeriod==null||withPeriod)?true:false;
    if(withPeriod) return (value.match(/[^a-zA-Z\d\.\-]+/)==null);
    else return (value.match(/[^a-zA-Z\d\-]+/)==null);
}

function matchLowercaseLetter( value )
{    
   return (value.match(/\b[a-zA-Z][a-zA-Z0-9]*\b/)!=null);
}

function matchAlphaNumericSpace(value)
{
    return (value.match(/[^a-zA-Z\d\.\s\#\-]+/)==null);    
}

function validateDate(month,year)
{
    if( month=="" || year=="" || isNaN(month) || isNaN(year) ) return 1;
   
    var m = Number(month);  
    var y = Number(year);
   
    var date = new Date();
        
    if(m<1||m>12||y>(date.getFullYear()+8)) return false;   // Check Limits
    else if( y<date.getFullYear() || ( (y==date.getFullYear()) && (m < date.getMonth()) ) ) return false; // Check if Expired
    else return true;
}

function matchAlpha(value)
{
    return matchAlpha(value,false);
}

function matchAlpha(value, withPeriod)
{
    return (value.match(/[^a-zA-Z\s\.\-]+/)==null);
}

function matchAlphaLength(value,min,max)
{
    return (value.match(/[^a-zA-Z\s\.\-]+/)==null)&&(value.length > (min-1) && value.length<(max+1));
}

function matchPhone(value)
{
    return (value);
}

function matchEmail(value)
{
    return (value.match(/^[a-zA-Z0-9_\.\-]+@[a-zA-Z0-9_\.\-]+\.[a-zA-Z]{2,4}$/)!=null);
}
