﻿function isEmpty(elem)
{
    var str = elem.value;
    var re = /.+/;
    if(!str.match(re))
	{
        return true;
    }
	else
	{
        return false;
    }
}
   
function isNumber(elem)
{
    var str = elem.value;
    var re = /^[-]?\d*\.?\d*$/;
    str = str.toString();
    if (!str.match(re))
	{
        return false;
    }
    return true;
}
   
function isLen16(elem)
{
    var str = elem.value;
    var re = /\b.{16}\b/;
    if (!str.match(re))
	{
        return false;
    }
	else
	{
        return true;
    }
}
   
function isEmail(elem)
{
    var str = elem.value;
    var re = /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/;
    if (!str.match(re))
	{
        return false;
    }
	else
	{
        return true;
    }
}

function checkDate(fld)
{
    var mo, day, yr;
    var entry = fld.value;
    var reLong = /\b\d{1,2}[\/-]\d{1,2}[\/-]\d{4}\b/;
    var reShort = /\b\d{1,2}[\/-]\d{1,2}[\/-]\d{2}\b/;
    var valid = (reLong.test(entry)) || (reShort.test(entry));
    if (valid)
	{
        var delimChar = (entry.indexOf("/") != -1) ? "/" : "-";
        var delim1 = entry.indexOf(delimChar);
        var delim2 = entry.lastIndexOf(delimChar);
        mo = parseInt(entry.substring(0, delim1), 10);
        day = parseInt(entry.substring(delim1+1, delim2), 10);
        yr = parseInt(entry.substring(delim2+1), 10);
        // handle two-digit year
        if (yr < 100)
		{
            var today = new Date();
            // get current century floor (e.g., 2000)
            var currCent = parseInt(today.getFullYear() / 100) * 100;
            // two digits up to this year + 15 expands to current century
            var threshold = (today.getFullYear() + 15) - currCent;
            if (yr > threshold) {
                yr += currCent - 100;
            } else {
                yr += currCent;
            }
        }
        var testDate = new Date(yr, mo-1, day);
        if (testDate.getDate() == day)
		{
            if (testDate.getMonth() + 1 == mo)
			{
                if (testDate.getFullYear() == yr)
				{
                    // fill field with database-friendly format
                    fld.value = mo + "/" + day + "/" + yr;
                    return true;
                }
            }
        }
    }
    return false;
}