tests.t(dojox.validate.isValidCreditCard('5105-1051 0510-5100','mc'));//test string input with dashes and spaces (commonly used when entering card #'s)
tests.t(dojox.validate.isValidCreditCard(5105105105105100,'mc'));//test numerical input as well
tests.f(dojox.validate.isValidCreditCard('5105105105105100','vi'));//fails, wrong card type
tests.t(dojox.validate.isValidCreditCardNumber('5105-1051 0510-5100','mc'));//test string input with dashes and spaces (commonly used when entering card #'s)
tests.t(dojox.validate.isValidCreditCardNumber(5105105105105100,'mc'));//test numerical input as well
tests.f(dojox.validate.isValidCreditCardNumber('5105105105105100','vi'));//fails, wrong card type
//Mastercard/Eurocard checks
tests.is("mc|ec",dojox.validate.isValidCreditCardNumber('5100000000000000'));//should match 'mc|ec'
tests.is("mc|ec",dojox.validate.isValidCreditCardNumber('5200000000000000'));//should match 'mc|ec'
tests.is("mc|ec",dojox.validate.isValidCreditCardNumber('5300000000000000'));//should match 'mc|ec'
tests.is("mc|ec",dojox.validate.isValidCreditCardNumber('5400000000000000'));//should match 'mc|ec'
tests.is("mc|ec",dojox.validate.isValidCreditCardNumber('5500000000000000'));//should match 'mc|ec'
tests.f(dojox.validate.isValidCreditCardNumber('55000000000000000'));//should fail, too long
//Visa card checks
tests.is("vi",dojox.validate.isValidCreditCardNumber('4111111111111111'));//should match 'vi'
tests.is("vi",dojox.validate.isValidCreditCardNumber('4111111111010'));//should match 'vi'
//American Express card checks
tests.is("ax",dojox.validate.isValidCreditCardNumber('378 2822 4631 0005'));//should match 'ax'
tests.is("ax",dojox.validate.isValidCreditCardNumber('341-1111-1111-1111'));//should match 'ax'
//Diners Club/Carte Blanch card checks
tests.is("dc|bl",dojox.validate.isValidCreditCardNumber('36400000000000'));//should match 'dc|bl'
tests.is("dc|bl",dojox.validate.isValidCreditCardNumber('38520000023237'));//should match 'dc|bl'
tests.is("dc|bl",dojox.validate.isValidCreditCardNumber('30009009025904'));//should match 'di|bl'
tests.is("dc|bl",dojox.validate.isValidCreditCardNumber('30108009025904'));//should match 'di|bl'
tests.is("dc|bl",dojox.validate.isValidCreditCardNumber('30207009025904'));//should match 'di|bl'
tests.is("dc|bl",dojox.validate.isValidCreditCardNumber('30306009025904'));//should match 'di|bl'
tests.is("dc|bl",dojox.validate.isValidCreditCardNumber('30405009025904'));//should match 'di|bl'
tests.is("dc|bl",dojox.validate.isValidCreditCardNumber('30504009025904'));//should match 'di|bl'
//Discover card checks
tests.is("di",dojox.validate.isValidCreditCardNumber('6011111111111117'));//should match 'di'
//JCB card checks
tests.is("jcb",dojox.validate.isValidCreditCardNumber('3530111333300000'));//should match 'jcb'
tests.is("jcb",dojox.validate.isValidCreditCardNumber('213100000000001'));//should match 'jcb'
tests.is("jcb",dojox.validate.isValidCreditCardNumber('180000000000002'));//should match 'jcb'
tests.f(dojox.validate.isValidCreditCardNumber('1800000000000002'));//should fail, good checksum, good prefix, but wrong length'
//Enroute card checks
tests.is("er",dojox.validate.isValidCreditCardNumber('201400000000000'));//should match 'er'
tests.is("er",dojox.validate.isValidCreditCardNumber('214900000000000'));//should match 'er'