You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

116 lines
3.7 KiB

$(function () {
var clientTokenRequested = false;
function requestClientToken() {
if (!clientTokenRequested) {
clientTokenRequested = true;
$.getJSON("/pricing/get_client_token/", setupDropin);
}
}
function setupDropin(data) {
braintree.dropin.create({
authorization: data.client_token,
container: "#dropin",
paypal: { flow: 'vault' }
}, function(createErr, instance) {
$("#payment-form-submit").click(function() {
instance.requestPaymentMethod(function (requestPaymentMethodErr, payload) {
$("#pmm-nonce").val(payload.nonce);
$("#payment-form").submit();
});
}).prop("disabled", false);
});
}
$("#update-payment-method").hover(requestClientToken);
$("#update-payment-method").click(function() {
requestClientToken();
$("#payment-form").attr("action", this.dataset.action);
$("#payment-form-submit").text("Update Payment Method");
$("#payment-method-modal").modal("show");
});
$("#billing-history").load( "/accounts/profile/billing/history/" );
$("#billing-address").load( "/accounts/profile/billing/address/", function() {
$("#billing-address input").each(function(idx, obj) {
$("#" + obj.name).val(obj.value);
});
});
$("#payment-method").load( "/accounts/profile/billing/payment_method/", function() {
$("#next-billing-date").text($("#nbd").val());
});
$("#billing-periods input").click(updateChangePlanForm);
$("#plan-hobbyist").click(function() {
$(".plan").removeClass("selected");
$("#plan-hobbyist").addClass("selected");
updateChangePlanForm();
});
$("#plan-business").click(function() {
$(".plan").removeClass("selected");
$("#plan-business").addClass("selected");
updateChangePlanForm();
});
$("#plan-business-plus").click(function() {
$(".plan").removeClass("selected");
$("#plan-business-plus").addClass("selected");
updateChangePlanForm();
});
function updateChangePlanForm() {
var planId = $("#old-plan-id").val();
// "Monthly" is selected: dispplay monthly prices
if ($("#billing-monthly").is(":checked")) {
var period = "monthly";
$("#business-price").text("$20");
$("#business-plus-price").text("$80");
}
// "Annual" is selected: dispplay annual prices
if ($("#billing-annual").is(":checked")) {
var period = "annual";
$("#business-price").text("$16");
$("#business-plus-price").text("$64");
}
// "Hobbyist" is selected, set planId
if ($("#plan-hobbyist").hasClass("selected")) {
planId = "";
}
// "Business" is selected, set planId
if ($("#plan-business").hasClass("selected")) {
planId = period == "monthly" ? "P20" : "Y192";
}
// "Business Plus" is selected, set planId
if ($("#plan-business-plus").hasClass("selected")) {
planId = period == "monthly" ? "P80" : "Y768";
}
$("#plan-id").val(planId);
if (planId == $("#old-plan-id").val()) {
$("#change-plan-btn")
.attr("disabled", "disabled")
.text("Change Billing Plan");
} else {
var caption = "Change Billing Plan";
if (planId) {
caption += " And Pay $" + planId.substr(1) + " Now";
}
$("#change-plan-btn").removeAttr("disabled").text(caption);
}
}
updateChangePlanForm();
});