﻿    function isCreditCard(CC){                         
        if (CC.length > 19)
            return false;
        
        var szCard = CC.toString();
        var sum = 0; 
        var mul = 1; 
        var l = CC.length;
        var digit = "";
        var tproduct = 0;
        for (i = 0; i < l; i++) 
        {
            digit = CC.substring(l-i-1,l-i);
            tproduct = parseInt(digit ,10)*mul;
            if (tproduct >= 10)
                sum += (tproduct % 10) + 1;
            else
                sum += tproduct;
            if (mul == 1)
                mul++;
            else
                mul--;
        }
        if ((sum % 10) == 0)
            return true;
        else
            return false;
    }
    
    function ZipCheck(szZip){
        var bRet = true;
        if (!mxisnumber(szZip) || szZip.length != 5)
            bRet = false;
        return bRet;
    }
    
    
    function CIDCheck(szCID){
        var bRet = true;
        if (!mxisnumber(szCID))
            bRet = false;
        else if (szCID.length != 3 && szCID.length != 4)
            bRet = false;
        return bRet;
    }
    
    function expCheck(szExp){//MMYY
        var bRet = false;
        var szTmp = szExp.toString();
        var d = new Date();
        var iMonth  = parseInt(szTmp.substring(0,2));
        var szYear = d.getFullYear().toString().substring(0,2);
        szYear += szTmp.substring(2,4);
        var iYear = parseInt(szYear);
        var iYearCurrent = parseInt(d.getFullYear());
        var iMonthCurrent = parseInt(d.getMonth());
        
        if (iMonth > 12)
            return false;
        else if (iMonth == 0)
            return false;
        
        if(iYear == iYearCurrent){
          if(iMonth < (iMonthCurrent + 1))
             return false;
        }
        if(iYear < iYearCurrent) 
            return false;
        
        return true;
    }
