summaryrefslogtreecommitdiff
path: root/StoneIsland/platforms/android/assets/www/js/lib/nav/CreditCardView.js
diff options
context:
space:
mode:
Diffstat (limited to 'StoneIsland/platforms/android/assets/www/js/lib/nav/CreditCardView.js')
-rwxr-xr-xStoneIsland/platforms/android/assets/www/js/lib/nav/CreditCardView.js61
1 files changed, 61 insertions, 0 deletions
diff --git a/StoneIsland/platforms/android/assets/www/js/lib/nav/CreditCardView.js b/StoneIsland/platforms/android/assets/www/js/lib/nav/CreditCardView.js
new file mode 100755
index 00000000..63784618
--- /dev/null
+++ b/StoneIsland/platforms/android/assets/www/js/lib/nav/CreditCardView.js
@@ -0,0 +1,61 @@
+
+var CreditCardView = SerializableView.extend({
+
+ template: $("#creditcard_template").html(),
+
+ cardOptions: {
+ accept: ['visa', 'mastercard', 'amex', 'jcb'],
+ },
+
+ events: {
+ },
+
+ initialize: function(opt){
+ this.parent = opt.parent
+ this.setElement( this.parent.$(".cc") )
+ this.$el.html(this.template)
+
+ this.$number = this.$("[name=Number]")
+ this.$number.validateCreditCard(this.updateCard.bind(this), this.cardOptions)
+ },
+
+ populate: function(data){
+ this.data = data
+ data.Number = "XXXX XXXX XXXX " + data.Number
+ this.$number.attr("type", "text")
+ this.parent.$(".cc input").val("")
+ this.$(".cc input").val("")
+ this.load_data(data)
+ },
+
+ updateCard: function(card){
+ // console.log(card)
+ // card.card_type.name
+ // card.card_type.valid
+ },
+
+ validate_presence: {
+ 'Number': 'Please enter your credit card number.',
+ 'Cvv': 'Please enter your security code.',
+ },
+
+ validate_fields: function(data, errors){
+ if (this.disabled) { return }
+ var card = this.$number.validateCreditCard(this.cardOptions)
+ if (! card.valid) { errors.push([ "Number", "Your card number is invalid." ]) }
+ if (! data.ExpirationMonth || data.ExpirationMonth == "NONE") { errors.push([ "ExpirationMonth", "Please enter the expiration month." ]) }
+ if (! data.ExpirationYear || data.ExpirationYear == "NONE") { errors.push([ "ExpirationYear", "Please select the expiration month." ]) }
+ data.UserId = auth.user_id
+ if (card.valid) {
+ data.Type = YOOX_CREDIT_CARD_NAME_LOOKUP[ card.card_type.name ]
+ }
+ },
+
+})
+
+var YOOX_CREDIT_CARD_NAME_LOOKUP = {
+ "visa": "Visa",
+ "mastercard": "Mastercard",
+ "amex": "AmericanExpress",
+ "jcb": "JCB",
+}