|
Server : Apache/2.2.22 (Unix) mod_ssl/2.2.22 OpenSSL/1.0.0-fips mod_auth_passthrough/2.1 mod_bwlimited/1.4 System : Linux server.jackjohnson.com 2.6.32-279.5.2.el6.x86_64 #1 SMP Fri Aug 24 01:07:11 UTC 2012 x86_64 User : jackjohn ( 502) PHP Version : 5.3.17 Disable Function : NONE Directory : /home/jackjohn/public_html/shopsite-images/en-NZ/javascript/orders/ |
Upload File : |
function retrieve_from_anet(row,ss_id,gateway_id) {
var data = "ajax=retrieve_from_anet&ss_id="+ss_id+"&gateway_id="+gateway_id;
$('body, a').css({'cursor':'wait'});
$.ajax({
type: 'POST',
async: true,
url: 'subscriptions_bo.cgi',
data: data,
success: function(response) {
$('body, a').css({'cursor':''});
if (response.slice(0,5) == "ERROR") {
alert("Authorize.NET error: "+response.slice(5));
} else
$(row).replaceWith(response);
}
});
}
function cc_html(CustomerName,gateway_id) {
var show_cvv = true;
var html = "<div id='sub_edit_method'>"+
"<h4>Credit card on subscription "+gateway_id+":</h4>"+
"<table><tr><td>Card Number</td><td><input type='text' name='pay1'></td></tr>";
if (show_cvv)
html += "<tr><td>CVV value</td><td><input type='text' name='cvv2'></td></tr>";
html += "<tr><td>Name on Card</td><td><input type='text' name='pay2' value='"+CustomerName+"'></td></tr>";
var expiration_date = "<tr><td>Expiration Date:</td><td><select name='pay4_1'>";
for (var i = 1; i<=12; i++)
expiration_date += "<option value='"+i+"'>"+((i<10)?("0"+i.toString()):i)+"</option>";
expiration_date += "</select>";
var current_year = new Date().getFullYear();
expiration_date += "<select name='pay4_2'>";
for (var i = current_year; i<=2030; i++)
expiration_date += "<option value='"+i+"'>"+i+"</option>";
expiration_date += "</select></td></tr>";
html += expiration_date;
html += "</table></div>";
return html;
}
function bank_html(CustomerName,gateway_id) {
var html = "<div id='sub_edit_method'>"+
"<h4>Bank account on subscription "+gateway_id+":</h4>"+
"<table><tr><td>Routing Number</td><td><input type='text' name='pay1'></td></tr>";
html += "<tr><td>Account Number</td><td><input type='text' name='pay2'></td></tr>";
html += "<tr><td>Name on Account</td><td><input type='text' name='pay4' value='"+CustomerName+"'></td></tr>";
html += "</table></div>";
return html;
}
ss_jQuery(function($)
{
$.validator.addMethod(
"price",
function(value, element) {
var re = new RegExp(/^(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/);
return re.test(value);
},
"Example: 1,999.99"
);
$(document).on('click', '.retrieve_from_anet', function() {
var row = $(this).closest('tr');
var ss_id = row.find('.ss_id').val();
var gateway_id = row.find('.gateway_id').val();
retrieve_from_anet(row,ss_id,gateway_id);
});
$(document).on('click', '.edit_payment_method', function() {
var row = $(this).closest('tr');
var ss_id = row.find('.ss_id').val();
var gateway_id = row.find('.gateway_id').val();
var CustomerName = row.find('.CustomerName').val();
var PaymentMethod = row.find('.PaymentMethod').val();
//retrieve_from_anet(row,ss_id,gateway_id);
var html =
"<div id='sub_edit_modal'>"+
"<form>"+
"<input type='hidden' id='CustomerName' value='"+CustomerName+"'>"+
"<input type='hidden' id='PaymentMethod' name='PaymentMethod' value='"+PaymentMethod+"'>"+
//"<div id='method_type_select'><a id='method_cc' class='method_active'>Credit Card</a>|<a id='method_bank'>Bank Account</a></div>"+
"<input type=hidden id='ss_id' name='ss_id' value='"+ss_id+"'>"+
"<input type=hidden id='gateway_id' name='gateway_id' value='"+gateway_id+"'>";
if (PaymentMethod == "eCheck")
html += bank_html(CustomerName,gateway_id);
else
html += cc_html(CustomerName,gateway_id);
html += "</form><div id='modal_control'><a id='save_method'>Save Changes</a><a id='cancel_modal'>Cancel</a></div>";
html += "</div>";
$.modal(html);
});
$(document).on('click', '#method_type_select > a', function() {
if (!$(this).hasClass('method_active')) {
var CustomerName = $('#CustomerName').val();
if ($(this).attr('id') == 'method_cc')
$('#sub_edit_method').replaceWith(cc_html(CustomerName));
else
$('#sub_edit_method').replaceWith(bank_html(CustomerName));
$('.method_active').removeClass('method_active');
$(this).addClass('method_active');
}
});
$(document).on('click', '#cancel_modal, #done_history', function() {
$.modal.close();
});
$(document).on('click', '.history', function() {
var row = $(this).closest('tr');
var ss_id = row.find('.ss_id').val();
var gateway_id = row.find('.gateway_id').val();
var data = "ajax=history&ss_id="+ss_id;
$('body, a').css({'cursor':'wait'});
$.ajax({
type: 'POST',
url: 'subscriptions_bo.cgi',
data: data,
success: function(response) {
var html = "<div id='sub_history'><h4>History for subscription "+gateway_id+". Note: history is approximate. Actual dates may vary; billing events may be missing.</h4>"+response+"<div id='modal_control'><a id='done_history'>Done</a></div></div>";
$.modal(html);
$('body, a').css({'cursor':''});
}
});
});
$(document).on('click', '.edit_payment_schedule', function() {
var row = $(this).closest('tr');
var ss_id = row.find('.ss_id').val();
var gateway_id = row.find('.gateway_id').val();
//retrieve_from_anet(row,ss_id,gateway_id);
//var SubRegularPaymentAmount = row.find('.SubRegularPaymentAmount').val();
var Amount = row.find('.Amount').val();
var SubEndingPeriod = row.find('.SubEndingPeriod').val();
var SubPaymentIntervalUnit = row.find('.SubPaymentIntervalUnit').val();
var startDate = row.find('.startDate').val();
var pastOccurences = row.find('.pastOccurences').val();
if (pastOccurences == "")
pastOccurences = 0;
else
pastOccurences = parseInt(pastOccurences);
var SubTrialCheckBox = row.find('.SubTrialCheckBox').val();
//var SubTrialPaymentAmount = row.find('.SubTrialPaymentAmount').val();
var TrialAmount = row.find('.TrialAmount').val();
var SubTrialPeriods = row.find('.SubTrialPeriods').val();
if (SubTrialPeriods == "")
SubTrialPeriods = 0;
else
SubTrialPeriods = parseInt(SubTrialPeriods);
/*var SubRegularPaymentAmount = "10.00";
var SubEndingPeriod = "9999"
var currency_symbol = "$";
var SubPaymentIntervalUnit = "Monthly";
var startDate = "2016-12-31";
var pastOccurences = 5;
var SubTrialCheckBox = "checked";
var SubTrialPaymentAmount = "5.00";
var SubTrialPeriods = 3;*/
var html =
"<div id='sub_edit_modal'><form>"+
"<input type=hidden id='ss_id' name='ss_id' value='"+ss_id+"'>"+
"<input type=hidden id='gateway_id' name='gateway_id' value='"+gateway_id+"'>"+
"<div id='sub_edit_schedule'>"+
"<div id='edit_regular_period'>"+
"<h4>Payment schedule for subscription "+gateway_id+":</h4>"+
currency_symbol+"<input type='text' name='Amount' id='edit_Amount' value='"+Amount+"'> ";
if (SubPaymentIntervalUnit == 'twiceyearly')
SubPaymentIntervalUnit = 'twice a year';
html += SubPaymentIntervalUnit+" ";
var period_select = "<select name='SubEndingPeriod' id='SubEndingPeriod'><option value='9999'"+((SubEndingPeriod == '9999')?"selected":"")+">forever</option>";
for (var i = pastOccurences+1; i < 100; i++)
period_select += "<option value='"+i+"' "+((SubEndingPeriod == i.toString())?"selected":"")+">"+i+" times ("+(i-pastOccurences)+" left)</option>\n";
period_select += "</select>";
html += period_select + "</div>";
if (pastOccurences < SubTrialPeriods) {
var period_select = "<select name='SubTrialPeriods' id='edit_SubTrialPeriods'>";
for (var i = pastOccurences+1; i < 100; i++)
period_select += "<option value='"+i+"' "+((SubTrialPeriods == i.toString())?"selected":"")+">"+i+" times ("+(i-pastOccurences)+" left)</option>\n";
period_select += "</select>";
html += "<div id='edit_trial_period'><h4>Initial trial period:</h4>"+
//"<label>Enable <input type='checkbox' name='SubTrialCheckBox' id='edit_SubTrialCheckBox' "+((SubTrialCheckBox=='checked')?"checked":"")+" "+((pastOccurences !=0)?"disabled":"")+"></label>"+
"Trial price: "+currency_symbol+"<input type='text' value='"+TrialAmount+"' name='TrialAmount' id='edit_TrialAmount'> "+
period_select + "</div>";
//" <input type='text' value='"+SubTrialPeriods+"' name='SubTrialPeriods' id='edit_SubTrialPeriods'> periods ("+(SubTrialPeriods-pastOccurences)+" left)</div>";
}
var today = new Date();
if (today < startDate)
html += "<div id='edit_start_date'>Start date: <input class='date hasDatePicker' type='text' id='startDate' name='startDate' value='"+startDate+"'></div>";
html += "</div>";
html += "</form>";
html += "<div id='modal_control'><a id='save_schedule'>Save Changes</a><a id='cancel_modal'>Cancel</a></div>";
html += "</div>";
$.modal(html);
$('.date').datepicker({ changeMonth: true, changeYear: true, minDate: today, dateFormat: "yy-mm-dd", yearRange: "0:+1"});
});
$(document).on('click', '#save_schedule', function() {
//$('#edit_SubTrialCheckBox').removeAttr('disabled');
var rules = {
Amount: {
required: true,
price: true
},
}
if ($('#edit_TrialAmount').length) {
rules.TrialAmount = {
required: true,
price: true
}
}
$('form').validate({
rules: rules,
errorPlacement: function(error, element) {
element.siblings().last().after(error);
},
});
if (!$('form').valid()) {
return;
}
$('body').css({'cursor':'wait'});
var data = "ajax=save_schedule&"+$('#sub_edit_modal > form').serialize();
var ss_id = $('#ss_id').val();
$.ajax({
type: 'POST',
url: 'subscriptions_bo.cgi',
data: data,
success: function(response) {
$('body').css({'cursor':''});
if (response.slice(0,5) == "ERROR") {
alert("Authorize.NET error: "+response.slice(5));
} else {
var row = $('input.ss_id[value='+ss_id+']').closest('tr');
$(row).replaceWith(response);
$.modal.close();
}
}
});
});
$(document).on('click', '#save_method', function() {
if ($('#PaymentMethod').val() == "creditCard") {
$('form').validate({
rules: {
pay1: {
required: true,
creditcard: true
},
cvv2: {
digits: true,
rangelength: [3,4]
}
},
messages: {
cvv2: "Please enter a valid CVV2 value"
}
});
} else {
$('form').validate({
rules: {
pay1: {
required: true,
digits: true
},
pay2: {
required: true,
digits: true
},
pay4: {
required: true
}
}
});
}
if (!$('form').valid()) {
return;
}
/*if ($('#method_cc').hasClass('method_active'))
append_to_form('method','cc');
else
append_to_form('method','bank');*/
function submit_method() {
var data = "ajax=save_method&"+$('#sub_edit_modal > form').serialize();
var ss_id = $('#ss_id').val();
$('body').css({'cursor':'wait'});
$.ajax({
type: 'POST',
url: 'subscriptions_bo.cgi',
data: data,
success: function(response) {
$('body').css({'cursor':''});
if (response.slice(0,5) == "ERROR") {
alert("Authorize.NET error: "+response.slice(5));
} else
$.modal.close();
}
});
}
//if cc and https, can use Accept.js for extra PCIness
if ($('#PaymentMethod').val() == "creditCard" && bo_use_security && use_accept == 1) {
sendPaymentDataToAnet();
var interval = setInterval(function() {
if (anet_cnt_responses == 1) {
clearInterval(interval);
$("input[name='pay1']").val('XXXXXXXXXXXXX' + $("input[name='pay1']").val().substr(-4));
submit_method();
}
}, 300);
} else {
submit_method();
}
});
$(document).on('click', '.cancel_subscription', function() {
if (confirm("Are you sure you want to cancel this subscription? It will no longer be billed, and this can't be undone.")) {
var row = $(this).closest('tr');
var ss_id = row.find('.ss_id').val();
var gateway_id = row.find('.gateway_id').val();
var data = "ajax=cancel&ss_id="+ss_id+"&gateway_id="+gateway_id;
$('body').css({'cursor':'wait'});
$.ajax({
type: 'POST',
url: 'subscriptions_bo.cgi',
data: data,
success: function(response) {
$('body').css({'cursor':''});
if (response.slice(0,5) == "ERROR") {
alert("Authorize.NET error: "+response.slice(5));
} else {
var row = $('input.ss_id[value='+ss_id+']').closest('tr');
$(row).replaceWith(response);
}
}
});
}
});
$(document).on('click', '.send_email', function() {
var row = $(this).closest('tr');
var ss_id = row.find('.ss_id').val();
var gateway_id = row.find('.gateway_id').val();
var data = "ajax=send_email&ss_id="+ss_id+"&gateway_id="+gateway_id;
$('body').css({'cursor':'wait'});
$.ajax({
type: 'POST',
url: 'subscriptions_bo.cgi',
data: data,
success: function(response) {
$('body').css({'cursor':''});
if (response.slice(0,5) == "ERROR") {
alert("Error: "+response.slice(5));
} else {
$(row).replaceWith(response);
}
}
});
});
$(document).on('click', '#button_send_test_email', function() {
var email = $('#test_email_address').val();
var type = $('input[name=test_email_type]:checked').val()
var data = "ajax=send_test_email&email="+encodeURIComponent(email)+"&type="+type;
$.ajax({
type: 'POST',
url: 'subscriptions_bo.cgi',
data: data,
success: function(response) {
alert("Test email sent");
}
});
return false;
});
$(document).on('click', '#initial_sync_responses a', function() {
var action =$(this).attr('id');
if (action == 'initial_sync_yes') {
var data = "ajax="+action;
$.ajax({ url: 'subscriptions_bo.cgi', data: data });
var count = parseInt($('#initial_sync_count').html());
if (count > 0) {
var html = "<div id='initial_sync_alert'>Importing subscriptions...<div id='progressbar'></div></div>";
$('#initial_sync_alert').replaceWith(html);
$('#progressbar').progressbar({ value: 0, max: count });
setTimeout(function() {
poll_interval = setInterval("poll_progress("+count+");", 1000);
},1000);
}
}
if (action == 'initial_sync_no') {
$('#initial_sync_alert').remove();
}
if (action == 'initial_sync_remove') {
var data = "ajax="+action;
$.ajax({ url: 'subscriptions_bo.cgi', data: data });
$('#initial_sync_alert').remove();
}
});
});
function poll_progress(total) {
$.get("subscriptions_bo.cgi","ajax=initial_sync_poll", function(data) {
var progress = parseInt(data);
$('#progressbar').progressbar({ value: progress });
if (progress >= total) {
clearInterval(poll_interval);
window.location.reload(false);
}
});
}