function getFFProg(){
    return ($("input[name='patient.ffProgramType']:checked").val());
}
function getFFMemberId(){
    return ($("input[name='patient.ffMembershipId']").val());
}
function validateMemberId() {
    if (getFFProg() == undefined)
        showFFAlert("Please select Delta/NWA");
    else if (getFFProg() == 'DELTA' && !checkDeltaId(getFFMemberId())) {
        showFFAlert("Please enter a valid 10 digit Delta SkyMiles Membership Id. If you do not have your SkyMiles number with you, you can provide the number when you attend your FREE LASIK Eye Exam");
        return false;
    }
    else if (getFFProg() == 'NWA' && !checkNWAId(getFFMemberId())) {
        showFFAlert("Please enter a valid 9 or 12 digit NWA WorldPerks Membership Id. If you do not have your WorldPerks number with you, you can provide the number when you attend your FREE LASIK Eye Exam");
        return false;
    }
    else
        hideFFAlert();
}
function showFFAlert(msg){
   $('#ffAlertText').text(msg);
   $('#ffAlert').show('slow');
}
function hideFFAlert(){
    $('#ffAlert').hide('slow');
}
function checkNWAId(memberId) {
    //9 or 12 digits or blank
    if (memberId.length == 0)
        return true;
    if ((memberId.length == 9 || memberId.length == 12) &&
        isNumeric(memberId) &&
        getCheckDigit_NWA(memberId) == memberId.charAt(memberId.length - 1))
        return true;
    return false;
}
function getCheckDigit_NWA(memberId) {
    //check routine for NorthWest
    //alert('check_digit: ' + parseInt(memberId.substr(0,memberId.length-1)) % 7);
    return parseInt(memberId.substr(0, memberId.length - 1)) % 7;
}
function checkDeltaId(memberId) {
    //10 digits or blank
    if (memberId.length == 0)
        return true;
    if (memberId.length == 10 && isNumeric(memberId) && (getCheckDigit_Delta(memberId) == memberId.charAt(9)))
        return true;
    return false;
}
function getCheckDigit_Delta(memberId) {
    //check routine for Delta Id
    var check_digit_odd = 0;
    for (var i = 0; i < memberId.length; i++) {
        if ((i + 1) % 2 == 1) {  //choose only odd-digit places (1,3,5,7,9)
            var temp_product = parseInt(memberId.charAt(i)) * 2;
            //multiply by 2
            //alert('temp_product ' + temp_product) ;
            if (temp_product > 9) {     // if 2-digit result, add together
                var temp_str = temp_product + '';
                //alert(temp_str.charAt(0) + ' + ' + temp_str.charAt(1) );
                temp_product = parseInt(temp_str.charAt(0)) + parseInt(temp_str.charAt(1));
            }
            //alert(temp_product);
            check_digit_odd = check_digit_odd + temp_product;
        }
    }
    //alert('check_digit_odd: ' + check_digit_odd);
    var check_digit_even = 0;
    for (var i = 0; i < memberId.length - 1; i++) {
        if ((i + 1) % 2 == 0) {  //choose only even-digit places (2,4,6,8) but not 10th place
            check_digit_even = check_digit_even + parseInt(memberId.charAt(i));
        }
    }
    //alert('check_digit_even: ' + check_digit_even);
    var remainder = (check_digit_odd + check_digit_even) % 10 ;
    //alert('remainder: ' + remainder);
    if (remainder == 0)
        return 0;
    else
        return (10 - remainder);
}
function isNumeric(str)
{
    for (var i = 0; i < str.length; i++) {
        if (!isDigit(str.charAt(i))) return false;
    }
    return true;
}
function isDigit(ch) {
    return (ch >= "0" && ch <= "9");
}