var digitString = '1234567890';
var phoneNumberDelimiters = "()- .";
var validWorldPhoneChars = phoneNumberDelimiters + "+";
var minDigitsInIPhoneNumber = 10;

function checkBlank(value) {
	if(value.length == 0) {
		return false;
	}

	return true;
}

function checkZip(zip) {

	if(zip.length < 5) {
		return(false);
	}

	for(i=0; i<5; i++) {
		if(digitString.indexOf(zip[i]) == -1) {
			return false;
		}
	}
	if(zip.length > 5) {
		if(zip.length != 10) {
			return false;
		}

		if(zip[5] != '-') {
			return false;
		}

		for(i=6; i<10; i++) {
			if(digitString.indexOf(zip[i]) == -1) {
				return false;
			}
		}
	}

	return true;
}


function isInteger(s)
{   var i;
    for (i = 0; i < s.length; i++)
    {   
        if(digitString.indexOf(s[i]) == -1) {
		return false;
	}
    }
    return true;
}

function checkPhone(strPhone){
	s = removechars(strPhone, validWorldPhoneChars);
	return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
}



function removechars (s, badchar)
{
	var i;
	var returnString = "";

	for (i = 0; i < s.length; i++)
	{
		var c = s.charAt(i);
		if (badchar.indexOf(c) == -1)
			returnString += c;
	}

	return returnString;
}

function keepchars (s, goodchar)
{
	var i;
	var returnString = "";

	for (i = 0; i < s.length; i++)
	{
		var c = s.charAt(i);
		if (goodchar.indexOf(c) != -1)
			returnString += c;
	}

	return returnString;
}

function checkCreditCard(cardnumber) {
	var cleannumber = new String(); 
	var cardstring = new String(cardnumber);
	var flipstring = new String();
	var checksum = 0;

	cleannumber = removechars(cardstring, " -");

	if (keepchars(cleannumber, "0123456789") != cleannumber)
	{
		return false;
	}       

        // Switch Digits Around
        for (var i = cleannumber.length; i >= 0; i--)
        {
                flipstring += cleannumber.charAt(i);
        }

        for(var i = 0; i < flipstring.length; i += 2)
        {
                checksum += eval(flipstring.charAt(i));
                if ((flipstring.charAt(i + 1) * 2) > 9)
                {
                        checksum += eval((flipstring.charAt(i + 1) * 2) - 9);
                }
                else
                {
                        checksum += eval(flipstring.charAt(i + 1) * 2);
                }
        }


        if (checksum != 0 && checksum % 10 != 0)
        {
                return false;
        }

        return true;
}

function checkMonth(month) {
	var Months = Array('jan', 'january', 'feb', 'february', 'mar', 'march', 'apr', 'april', 'may', 'jun', 'june', 'jul', 'july', 'aug', 'august', 'sept', 'sep', 'september', 'oct', 'october', 'nov', 'november', 'dec', 'december');

	if(!isInteger(month)) {
		for(i=0; i<Months.length; i++) {
			if(month == Months[i]) {
				return(true);
			}
		}
		return(false);
	}
	else {
		if((month < 1) || (month > 12)) {
			return false;
		}
	}

	return(true);
}

function checkYear(year) {
	if(!isInteger(year)) {
		return(false);
	}

	if((year.length != 2) && (year.length != 4)) {
		return(false);
	}

	return(true);
}
