﻿// JScript File

function StripSpacesFromCard(argString)
{
    var newString = "";
    var i;
    for (i = 0; i < argString.length; i++)
    {
        var c = argString.charAt(i);
        if (c != ' ') newString += c;
    }
    return (newString);
}

function IsValidCCNumber(argSrc, argObject)
{
    var i;
    var ccNum = argObject.Value;
    
    if (ccNum.length > 19)
    {
        argObject.IsValid = false;
        return;
    }
    
    ccNum = StripSpacesFromCard(ccNum);
    
    sum = 0; mul = 1; l = ccNum.length;
    for (i = 0; i < l; i++)
    {
        digit = ccNum.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)
        argObject.IsValid = true;
    else
        argObject.IsValid = false;
        
    return;
}

function ValidCardNumberCombination(argCardType, argCardNum)
{
    if (argCardNum.length == 0)
        return true;

    var ccNum = StripSpacesFromCard(argCardNum);
        
    switch (argCardType.substring(0,1))
    {
        case 'A':
            if (ccNum.substring(0,1) != '3' || ccNum.length != 15)
                return false;
            else
                return true;
        case 'V':
            if (ccNum.substring(0,1) != '4' || ccNum.length != 16)
                return false;
            else
                return true;
        case 'M':
            if (ccNum.substring(0,1) != '5' || ccNum.length != 16)
                return false;
            else
                return true;
        case 'D':
            if (ccNum.substring(0,4) != '6011' || ccNum.length != 16)
                return false;
            else
                return true;
    }
}

function IsValidCaseNumber(argValue, argType)
{
    var isGood = true;
    
    switch (argType)
    {
        case 'MARRIAGE':
        case 'marriage':
            if (argValue.length < 3)
                isGood = false;
            break;
        default:
            if (argValue.length < 4)
                isGood = false;
            break;
    }
    
   return isGood;
}

function IsValidCkNum(argCkNum)
{
    var isGood = true;
    var ckNum = argCkNum;

    if (ckNum.length == 0)
        return true;
            
    isGood = IsNumeric(ckNum);
    if (isGood)
        if (parseInt(argCkNum,10) <= 0)
            isGood = false;
            
    return isGood;
}

function IsValidABANumber()
{
    return;
}

function IsNumeric(argString)
{
    var validChars = "0123456789";
    var isNumber = true;
    var cChar;
    
    for (i = 0; i < argString.length && isNumber == true; i++)
    {
        cChar = argString.charAt(i);
        if (validChars.indexOf(cChar) == -1)
            isNumber = false;
    }
    
    return isNumber;
}