function IsLength(str, min, max)
{
	if (str.length < min || str.length > max)
		return false;
	return true;
}

function IsUsername(str)
{
	var regex_check = /^([a-zA-Z0-9_]+)$/;
	return (regex_check.test(str));
}

function IsPassword(str)
{
	var regex_check = /^([a-zA-Z0-9]+)$/;
	return (regex_check.test(str));
}

function IsEmail(str) 
{
	var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
	return reg.test(str);
}

function IsName(str) {
	if (str == "First Name")
		return false;
	if (str == "Last Name")
		return false;
    r1 = new RegExp("^[a-zA-Z]+[-a-zA-Z' ]+[ ]*$");
    return(r1.test(str));
}

function IsAddress(str) {
    r1 = new RegExp("[a-zA-Z]+"); 
    r2 = new RegExp("[0-9\#\.]+");
    //r3 = new RegExp("{\.,#}+");
    return(r1.test(str) && r2.test(str));
}

function IsZipcode(str) {
    r1 = new RegExp("^([ ]*)([0-9]{5})([ ]*)$");
    r2 = new RegExp("^([ ]*)([A-Za-z][0-9][A-Za-z][ ]?([0-9][A-Za-z][0-9])?)([ ]*)$");

    if(str.indexOf("-") == 5) 
        str = str.substring(0,5);

    return(r1.test(str) || r2.test(str));
}

function IsPhoneAreaCode(str) {
    with(new RegExp("[2-9][0-9]{2}"))
        return(test(str));
}

function IsPhonePrefix(str) { 
    r1 = new RegExp("[0-9]{3}");
    r2 = new RegExp("000|555");
    return(r1.test(str) && !r2.test(str));
}

function IsPhoneSuffix(str) {
    with(new RegExp("[0-9]{4}"))
        return(test(str));
}

function IsPhoneExtension(str) {
    with(new RegExp("^[0-9]*$"))
        return(test(str));
}

function IsValidPhone(str) { 
    r = new RegExp("[1]{7}|[2]{7}|[3]{7}|[4]{7}|[5]{7}|[6]{7}|[7]{7}|[8]{7}|[9]{7}");
    return(!r.test(str));
}

function IsValidPhoneSingle(str) {
    a = p = s = e = ""; 
    idx = 0;
    
    for (var i = 0; i < str.length; i++) { 
        n = str.substr(i, 1); 
        if ((new RegExp("[0-9]")).test(n)) {
            if (idx < 3)
                a += n;
            else if (idx < 6)
                p += n;
            else if (idx < 10)
                s += n;
            else
                e += n;
            idx++;
        }
    }
    res = IsPhoneAreaCode(a) && IsPhonePrefix(p) && IsPhoneSuffix(s);
    return res && (e.length == 0 || (e.length > 0 && IsPhoneExtension(e))) && IsValidPhone(p + s);
}

function IsSSN(str) {
    r1 = new RegExp("^([0-7]{1}[0-9]{8})$");
    r2 = new RegExp("[0]{9}|[1]{9}|[2]{9}|[3]{9}|[4]{9}|[5]{9}|[6]{9}|[7]{9}|123456789|111223333|123121234");
    return(r1.test(str) && !r2.test(str));
}

function IsDate(y,m,d) {
    with(new Date(y,m-1,d))
        return((getDate() == d) && (getMonth() == m - 1));
}

function IsEmpty(str) {
    strObj = new String(str);
    r = /(\s+)/g;
    strObj = strObj.replace(r, "");
    if(strObj.length == 0)
        return true;
    else 
        return false;
}

function IsNumeric(str) {
    r1 = new RegExp("^[$]?[0-9]+([.]{1}[0-9]{2})?$"); 
    r2 = new RegExp("^[$]?[0-9]+([,][0-9]{3})+([.]{1}[0-9]{2})?$"); 
    return(r1.test(str) || r2.test(str));
}

function IsFloat(str) {
    r1 = new RegExp("^[0-9]+([.]{1}([0-9]*))?$"); 
    r2 = new RegExp("^[0-9]+([,][0-9]{3})+([.]{1}([0-9]*))?$"); 
    return(r1.test(str) || r2.test(str));
}

function IsRadioChecked(obj) {
  for (counter = 0; counter < obj.length; counter++)  
	  if (obj[counter].checked) { return true; }  
  
  return false;
}
