function trim(s) {
  while (s.substring(0,1) == ' ') {
    s = s.substring(1,s.length);
  }
  while (s.substring(s.length-1,s.length) == ' ') {
    s = s.substring(0,s.length-1);
  }
  return s;
}

function validateCreditCardNumber(number)
{
	isValid = false;
	visaReg = /^[4]([0-9]{15}$|[0-9]{12}$)/;
	mcReg = /^[5][1-5][0-9]{14}$/;
    bcReg = /^5610\d{12}$/;
    var numWithoutSpace = "";
    for (var i = 0; i < number.length; i++)
    {
    	if (number.charAt(i) != ' ')
        {
        	numWithoutSpace = numWithoutSpace + number.charAt(i);
        }
    }
            
    if ((visaReg.test(numWithoutSpace)) || (mcReg.test(numWithoutSpace)) || (bcReg.test(numWithoutSpace)) )
    { 
    	isValid = true;
    }

	return isValid;
}


function validateCCExpiry(month, year)
{
            var date = new Date();
            var thisMonth = date.getMonth() + 1;
            var thisYear = date.getFullYear();
            
            var expiryYear = Number("20" + year);
            var expiryMonth = Number(month);
            
            if ((expiryYear < thisYear) || ((expiryYear == thisYear) && (expiryMonth <= thisMonth)))
            {
                return false;
            }
            else
            {
                return true;
            }
}
        
function validateCCExpiryMonth(month)
{
	if (/\d{2}/.test(trim(month))) 
    {
    	var expiryMonth = Number(month);
        if ((expiryMonth > 12) || (expiryMonth < 1))
        {
             return false;
        }
        else
        {
             return true;
        }
    } 
    else
    {
    	return false;
    }
}
        
function validateCCExpiryYear(year)
{
	if (/\d{2}/.test(trim(year))) 
	{
		Today = new Date();
		var thisYear = Today.getFullYear();
		var expiryYear = Number("20" + year);
		
		if (expiryYear < thisYear)
		{
			return false;
		}
		else
		{
			return true;
		}
	}
	else
	{
		return false;
	}
}

function isOnOrAfterdate(theDate, theMonth, theYear)
{
	var date = new Date();
    var thisMonth = date.getMonth() + 1;
    var today = date.getDate();
    var thisYear = date.getYear();
            
    if ((thisMonth > theMonth) || (thisYear > theYear) || ((thisMonth == theMonth) && (today >= theDate)) )
    {
    	return true;
    }
	else
	{
		return false;
	}
}