diff --git a/simpleCart.min.js b/simpleCart.min.js index 0679069..a68557e 100755 --- a/simpleCart.min.js +++ b/simpleCart.min.js @@ -16,25 +16,25 @@ p)&&h(y[d.view])?y[d.view]:y.attr).call(b,j,d),f=b.$create(g).addClass(f).html(j c.id||"SCI-"+l;!d(o[c.id]);)l+=1,c.id="SCI-"+l;g.get=function(a,b){var e=!b;return d(a)?a:h(c[a])?c[a].call(g):!d(c[a])?c[a]:h(g[a])&&e?g[a].call(g):!d(g[a])&&e?g[a]:c[a]};g.set=function(a,b){d(a)||(c[a.toLowerCase()]=b,("price"===a.toLowerCase()||"quantity"===a.toLowerCase())&&e());return g};g.equals=function(a){for(var b in c)if(Object.prototype.hasOwnProperty.call(c,b)&&"quantity"!==b&&"id"!==b&&a.get(b)!==c[b])return!1;return!0};g.options=function(){var a={};b.each(c,function(e,c,d){var f=!0; b.each(g.reservedFields(),function(a){a===d&&(f=!1);return f});f&&(a[d]=g.get(d))});return a};e()};b.Item._=b.Item.prototype={increment:function(a){a=parseInt(a||1,10);this.quantity(this.quantity()+a);return 1>this.quantity()?(this.remove(),null):this},decrement:function(a){return this.increment(-parseInt(a||1,10))},remove:function(a){if(!1===b.trigger("beforeRemove",[o[this.id()]]))return!1;delete o[this.id()];a||b.update();return null},reservedFields:function(){return"quantity id item_number price name shipping tax taxRate".split(" ")}, fields:function(){var a={},e=this;b.each(e.reservedFields(),function(b){e.get(b)&&(a[b]=e.get(b))});return a},quantity:function(a){return d(a)?parseInt(this.get("quantity",!0)||1,10):this.set("quantity",a)},price:function(a){return d(a)?parseFloat(this.get("price",!0).toString().replace(b.currency().symbol,"").replace(b.currency().delimiter,"")||1):this.set("price",parseFloat(a.toString().replace(b.currency().symbol,"").replace(b.currency().delimiter,"")))},id:function(){return this.get("id",!1)}, -total:function(){return this.quantity()*this.price()}};b.extend({checkout:function(){"custom"===k.checkout.type.toLowerCase()&&h(k.checkout.fn)?k.checkout.fn.call(b,k.checkout):h(b.checkout[k.checkout.type])?b.checkout[k.checkout.type].call(b,k.checkout):b.error("No Valid Checkout Method Specified")},extendCheckout:function(a){return b.extend(b.checkout,a)},generateAndSendForm:function(a){var e=b.$create("form");e.attr("style","display:none;");e.attr("action",a.action);e.attr("method",a.method);b.each(a.data, -function(a,g,d){e.append(b.$create("input").attr("type","hidden").attr("name",d).val(a))});b.$("body").append(e);e.el.submit();e.remove()}});b.extendCheckout({PayPal:function(a){if(!a.email)return b.error("No email provided for PayPal checkout");var e={cmd:"_cart",upload:"1",currency_code:b.currency().code,business:a.email,rm:"GET"===a.method?"0":"2",tax_cart:b.tax(),handling_cart:b.shipping(),charset:"utf-8"},c=a.sandbox?"https://www.sandbox.paypal.com/cgi-bin/webscr":"https://www.paypal.com/cgi-bin/webscr", -g="GET"===a.method?"GET":"POST";a.success&&(e["return"]=a.success);a.cancel&&(e.cancel_return=a.cancel);b.each(function(a,c){var g=c+1,d=a.options(),f=0,h;e["item_name_"+g]=a.get("name");e["quantity_"+g]=a.quantity();e["amount_"+g]=a.price();e["item_number_"+g]=a.get("item_number")||g;b.each(d,function(a,c,d){if(c<10){h=true;b.each(k.excludeFromCheckout,function(a){a===d&&(h=false)});if(h){f=f+1;e["on"+c+"_"+g]=d;e["os"+c+"_"+g]=a}}});e["option_index_"+c]=Math.min(10,f)});b.trigger("beforeCheckout", -[e]);b.generateAndSendForm({action:c,method:g,data:e})},GoogleCheckout:function(a){if(!a.merchantID)return b.error("No merchant id provided for GoogleCheckout");if("USD"!==b.currency().code&&"GBP"!==b.currency().code)return b.error("Google Checkout only accepts USD and GBP");var e={ship_method_name_1:"Shipping",ship_method_price_1:b.shipping(),ship_method_currency_1:b.currency().code,_charset_:""},c="https://checkout.google.com/api/checkout/v2/checkoutForm/Merchant/"+a.merchantID,a="GET"===a.method? -"GET":"POST";b.each(function(a,c){var d=c+1,f=[],h;e["item_name_"+d]=a.get("name");e["item_quantity_"+d]=a.quantity();e["item_price_"+d]=a.price();e["item_currency_ "+d]=b.currency().code;e["item_tax_rate"+d]=a.get("taxRate")||b.taxRate();b.each(a.options(),function(a,e,c){h=!0;b.each(k.excludeFromCheckout,function(a){a===c&&(h=!1)});h&&f.push(c+": "+a)});e["item_description_"+d]=f.join(", ")});b.trigger("beforeCheckout",[e]);b.generateAndSendForm({action:c,method:a,data:e})},AmazonPayments:function(a){if(!a.merchant_signature)return b.error("No merchant signature provided for Amazon Payments"); -if(!a.merchant_id)return b.error("No merchant id provided for Amazon Payments");if(!a.aws_access_key_id)return b.error("No AWS access key id provided for Amazon Payments");var e={aws_access_key_id:a.aws_access_key_id,merchant_signature:a.merchant_signature,currency_code:b.currency().code,tax_rate:b.taxRate(),weight_unit:a.weight_unit||"lb"},c=(a.sandbox?"https://sandbox.google.com/checkout/":"https://checkout.google.com/")+"cws/v2/Merchant/"+a.merchant_id+"/checkoutForm",g="GET"===a.method?"GET": -"POST";b.each(function(c,g){var d=g+1,f=[];e["item_title_"+d]=c.get("name");e["item_quantity_"+d]=c.quantity();e["item_price_"+d]=c.price();e["item_sku_ "+d]=c.get("sku")||c.id();e["item_merchant_id_"+d]=a.merchant_id;c.get("weight")&&(e["item_weight_"+d]=c.get("weight"));k.shippingQuantityRate&&(e["shipping_method_price_per_unit_rate_"+d]=k.shippingQuantityRate);b.each(c.options(),function(a,e,c){var d=true;b.each(k.excludeFromCheckout,function(a){a===c&&(d=false)});d&&(c!=="weight"&&c!=="tax")&& -f.push(c+": "+a)});e["item_description_"+d]=f.join(", ")});b.trigger("beforeCheckout",[e]);b.generateAndSendForm({action:c,method:g,data:e})},SendForm:function(a){if(!a.url)return b.error("URL required for SendForm Checkout");var e={currency:b.currency().code,shipping:b.shipping(),tax:b.tax(),taxRate:b.taxRate(),itemCount:b.find({}).length},c=a.url,d="GET"===a.method?"GET":"POST";b.each(function(a,c){var d=c+1,g=[],f;e["item_name_"+d]=a.get("name");e["item_quantity_"+d]=a.quantity();e["item_price_"+ -d]=a.price();b.each(a.options(),function(a,e,c){f=!0;b.each(k.excludeFromCheckout,function(a){a===c&&(f=!1)});f&&g.push(c+": "+a)});e["item_options_"+d]=g.join(", ")});a.success&&(e["return"]=a.success);a.cancel&&(e.cancel_return=a.cancel);a.extra_data&&(e=b.extend(e,a.extra_data));b.trigger("beforeCheckout",[e]);b.generateAndSendForm({action:c,method:d,data:e})}});n={bind:function(a,e){if(!h(e))return this;this._events||(this._events={});var c=a.split(/ +/);b.each(c,function(a){this._events[a]=== -true?e.apply(this):d(this._events[a])?this._events[a]=[e]:this._events[a].push(e)});return this},trigger:function(a,b){var c=!0,g,f;this._events||(this._events={});if(!d(this._events[a])&&h(this._events[a][0])){g=0;for(f=this._events[a].length;g