﻿$(document).ready(function() {
    initPaymentInfoCreditCard();
});

function initPaymentInfoCreditCard() {
    /*$('#dl-PaymentInfoCreditCard dd.ccnum input').bind('keydown', function(event) {
        if (event.keyCode == 46 || event.keyCode == 8) { }
        else {
            if (event.keyCode < 48 || event.keyCode > 57) {
                event.preventDefault();
            }
        }
    });*/

    $('#dl-PaymentInfoCreditCard dd.ccnum input').bind('keyup', function(event) {
        if (event.keyCode >= 48 && event.keyCode <= 57) {
            var el = $(this);
            if (el.val().length == el.attr('maxlength')) {
                el.next(':visible').focus();
            }
        }
    });

    $('#dl-PaymentInfoCreditCard dd.cctype select').bind('change', function() {
        var elID = this.id;
        ToggleCardType(false);
    });

    $('#dl-PaymentInfoCreditCard input:checkbox').bind('change', function() {
        if ($(this).is(':checked')) {
            $('#dl-PaymentInfoCreditCard dd.addr input, #dl-PaymentInfoCreditCard dd.addr select').attr('disabled', true);
        }
        else {
            $('#dl-PaymentInfoCreditCard dd.addr input, #dl-PaymentInfoCreditCard dd.addr select').removeAttr('disabled');
        }
    });

    ToggleCardType(true);
}

function ToggleCardType(init) {
    var el = $('#dl-PaymentInfoCreditCard dd.cctype select');
    var ins = $('#dl-PaymentInfoCreditCard dd.ccnum input');

    if (init == false) ins.val('');
   
    if (el.val() == 'American Express') {
        ins.eq(1).width(50).attr('maxlength', 6);
        ins.eq(2).width(41).attr('maxlength', 5);
        ins.eq(3).hide();
    }
    else {
        ins.width(34);
        ins.attr('maxlength', 4);
        ins.eq(3).show();
    }
}
