$(document).ready(function() { $('#Continue').click(function() { saveAccount(); }); var sigdiv = $('#signature').jSignature(); $('#Continue3xyz').click(function() { if( $('#signature').jSignature('getData', 'native').length == 0) { $('#register-message').html('
You must enter your signature to continue
'); setTimeout(function() { $('#register-message').html(''); }, 3000); } else { //SaveRegisterCard(); //$('#Sig').val($('#signature').jSignature('getData')); //saveAccount3(); } }); }); function saveAccount3() { $(document.body).css({'cursor' : 'wait'}); setTimeout( function(){ $(document.body).css({'cursor' : 'default'}); }, 1500); var sigs = $('#PaymentForm').find('select, textarea, input').serialize(); //vals = vals+$('#cardnumber').serialize(); //console.log($('#cardnumber').val()); //var vals = 'Sig='+$('#Sig').val(); var vals = vals+'&AccountID='+$('#AccountID').val(); //vals = vals+'&name='+$('#name').val(); $.ajax({ type: 'POST', url: 'https://service.parkerweb.com/Templates/Register/Assets/AJAX/SaveSignature.php', data : sigs, success: function(msg){ $.ajax({ type: 'POST', url: 'https://service.parkerweb.com/Templates/Register/Assets/AJAX/SaveAccount3.php', data : vals, success: function(msg){ //console.log(msg); var ret = msg.split(':'); if (ret[0] == 1) { $.ajax({ type: 'POST', url: 'https://service.parkerweb.com/Templates/Register/Assets/AJAX/Register4.php', dataType : 'text', // data type data : 'id='+ret[1], success: function(msg){ var ret = msg.split(':'); if (ret[0] == 1) { $('#registerContent').html(ret[1]); } else { $('#register2-message').html('
'+ret[1]+'
'); setTimeout(function() { $('#register2-message').html(''); }, 3000); } } }); } else { $('#register2-message').html('
'+ret[1]+'
'); setTimeout(function() { $('#register2-message').html(''); }, 3000); } } }); } }); } function saveAccount2() { $(document.body).css({'cursor' : 'wait'}); setTimeout( function(){ $(document.body).css({'cursor' : 'default'}); }, 1500); var vals = $('#register-form').find('select, textarea, input').serialize(); $.ajax({ type: 'POST', url: 'https://service.parkerweb.com/Templates/Register/Assets/AJAX/SaveAccount2.php', dataType : 'text', // data type data : vals, success: function(msg){ var ret = msg.split(';;'); if (ret[0] == 1) { $('#checkout').append(ret[2]); $.ajax({ type: 'POST', url: 'https://service.parkerweb.com/Templates/Register/Assets/AJAX/Register3.php', dataType : 'text', // data type data : 'id='+ret[1], success: function(msg){ var ret = msg.split(':::'); if (ret[0] == 1) { $('#VerificationComplete').hide(); $('#PaymentForm').show(); $('#signature-box').html(ret[1]); } else { $('#register-message').html('
'+ret[1]+'
'); setTimeout(function() { $('#register-message').html(''); }, 3000); } } }); } else { $('#register-message').html('
'+ret[1]+'
'); setTimeout(function() { $('#register-message').html(''); }, 3000); } } }); } function saveAccount() { $(document.body).css({'cursor' : 'wait'}); setTimeout( function(){ $(document.body).css({'cursor' : 'default'}); }, 1500); var vals = $('#register-form').find('select, textarea, input').serialize(); vals = vals+'&ContactState='+$('#ContactState').val() //console.log(vals); $.ajax({ type: 'POST', url: 'https://service.parkerweb.com/Templates/Register/Assets/AJAX/SaveAccount.php', dataType : 'text', // data type data : vals, success: function(msg){ var ret = msg.split(':'); if (ret[0] == 1) { $('#registerContent').html(ret[1]); } else { $('#register-message').html('
'+ret[1]+'
'); setTimeout(function() { $('#register-message').html(''); }, 3000); } } }); } function ShowCardForm() { const name = document.getElementById('name'); const cardnumber = document.getElementById('cardnumber'); const expirationdate = document.getElementById('expirationdate'); const securitycode = document.getElementById('securitycode'); const output = document.getElementById('output'); const ccicon = document.getElementById('ccicon'); const ccsingle = document.getElementById('ccsingle'); //const generatecard = document.getElementById('generatecard'); let cctype = null; //Mask the Credit Card Number Input var cardnumber_mask = new IMask(cardnumber, { mask: [ { mask: '0000 000000 00000', regex: '^3[47]\d{0,13}', cardtype: 'american express' }, { mask: '0000 0000 0000 0000', regex: '^(?:6011|65\d{0,2}|64[4-9]\d?)\d{0,12}', cardtype: 'discover' }, { mask: '0000 000000 0000', regex: '^3(?:0([0-5]|9)|[689]\d?)\d{0,11}', cardtype: 'diners' }, { mask: '0000 0000 0000 0000', regex: '^(5[1-5]\d{0,2}|22[2-9]\d{0,1}|2[3-7]\d{0,2})\d{0,12}', cardtype: 'mastercard' }, // { // mask: '0000-0000-0000-0000', // regex: '^(5019|4175|4571)\d{0,12}', // cardtype: 'dankort' // }, // { // mask: '0000-0000-0000-0000', // regex: '^63[7-9]\d{0,13}', // cardtype: 'instapayment' // }, { mask: '0000 000000 00000', regex: '^(?:2131|1800)\d{0,11}', cardtype: 'jcb15' }, { mask: '0000 0000 0000 0000', regex: '^(?:35\d{0,2})\d{0,12}', cardtype: 'jcb' }, { mask: '0000 0000 0000 0000', regex: '^(?:5[0678]\d{0,2}|6304|67\d{0,2})\d{0,12}', cardtype: 'maestro' }, // { // mask: '0000-0000-0000-0000', // regex: '^220[0-4]\d{0,12}', // cardtype: 'mir' // }, { mask: '0000 0000 0000 0000', regex: '^4\d{0,15}', cardtype: 'visa' }, { mask: '0000 0000 0000 0000', regex: '^62\d{0,14}', cardtype: 'unionpay' }, { mask: '0000 0000 0000 0000', cardtype: 'Unknown' } ], dispatch: function (appended, dynamicMasked) { var number = (dynamicMasked.value + appended).replace(/\D/g, ''); for (var i = 0; i < dynamicMasked.compiledMasks.length; i++) { let re = new RegExp(dynamicMasked.compiledMasks[i].regex); if (number.match(re) != null) { return dynamicMasked.compiledMasks[i]; } } } }); //Mask the Expiration Date var expirationdate_mask = new IMask(expirationdate, { mask: 'MM{/}YY', groups: { YY: new IMask.MaskedPattern.Group.Range([0, 99]), MM: new IMask.MaskedPattern.Group.Range([1, 12]), } }); //Mask the security code var securitycode_mask = new IMask(securitycode, { mask: '0000', }); // SVGICONS let amex = ` `; let visa = ` `; let diners = ` `; let discover = ` `; let jcb = ` `; let maestro = ` `; let mastercard = ` `; let unionpay = ` `; let amex_single = `Slice 1Created with Sketch.`; let visa_single = `Slice 1Created with Sketch.`; let diners_single = `dinersCreated with Sketch.`; let discover_single = `discoverCreated with Sketch.`; let jcb_single = `Slice 1Created with Sketch.`; let maestro_single = ` maestro `; let mastercard_single = ` mastercard `; let unionpay_single = ` `; //define the color swap function const swapColor = function (basecolor) { document.querySelectorAll('.lightcolor') .forEach(function (input) { input.setAttribute('class', ''); input.setAttribute('class', 'lightcolor ' + basecolor); }); document.querySelectorAll('.darkcolor') .forEach(function (input) { input.setAttribute('class', ''); input.setAttribute('class', 'darkcolor ' + basecolor + 'dark'); }); }; //pop in the appropriate card icon when detected cardnumber_mask.on('accept', function () { //console.log(cardnumber_mask.masked.currentMask.cardtype); $('#cardtype').val(cardnumber_mask.masked.currentMask.cardtype); switch (cardnumber_mask.masked.currentMask.cardtype) { case 'american express': ccicon.innerHTML = amex; ccsingle.innerHTML = amex_single; swapColor('green'); break; case 'visa': ccicon.innerHTML = visa; ccsingle.innerHTML = visa_single; swapColor('cyan'); break; case 'diners': ccicon.innerHTML = diners; ccsingle.innerHTML = diners_single; swapColor('orange'); break; case 'discover': ccicon.innerHTML = discover; ccsingle.innerHTML = discover_single; swapColor('purple'); break; case ('jcb' || 'jcb15'): ccicon.innerHTML = jcb; ccsingle.innerHTML = jcb_single; swapColor('red'); break; case 'maestro': ccicon.innerHTML = maestro; ccsingle.innerHTML = maestro_single; swapColor('yellow'); break; case 'mastercard': ccicon.innerHTML = mastercard; ccsingle.innerHTML = mastercard_single; swapColor('lightblue'); break; case 'unionpay': ccicon.innerHTML = unionpay; ccsingle.innerHTML = unionpay_single; swapColor('cyan'); break; default: ccicon.innerHTML = ''; ccsingle.innerHTML = ''; swapColor('grey'); break; } }); //Generate random card number from list of known test numbers const randomCard = function () { let testCards = [ '4000056655665556', '5200828282828210', '371449635398431', '6011000990139424', '30569309025904', '3566002020360505', '6200000000000005', '6759649826438453', ]; let randomNumber = Math.floor(Math.random() * testCards.length); cardnumber_mask.unmaskedValue = testCards[randomNumber]; } //generatecard.addEventListener('click', function () { // randomCard(); //}); // CREDIT CARD IMAGE JS document.querySelector('.preload').classList.remove('preload'); document.querySelector('.creditcard').addEventListener('click', function () { if (this.classList.contains('flipped')) { this.classList.remove('flipped'); } else { this.classList.add('flipped'); } }) //On Input Change Events name.addEventListener('input', function () { if (name.value.length == 0) { document.getElementById('svgname').innerHTML = 'John Doe'; document.getElementById('svgnameback').innerHTML = 'John Doe'; } else { document.getElementById('svgname').innerHTML = this.value; document.getElementById('svgnameback').innerHTML = this.value; } }); cardnumber_mask.on('accept', function () { if (cardnumber_mask.value.length == 0) { document.getElementById('svgnumber').innerHTML = '0123 4567 8910 1112'; } else { document.getElementById('svgnumber').innerHTML = cardnumber_mask.value; } }); expirationdate_mask.on('accept', function () { if (expirationdate_mask.value.length == 0) { document.getElementById('svgexpire').innerHTML = '01/23'; } else { document.getElementById('svgexpire').innerHTML = expirationdate_mask.value; } }); securitycode_mask.on('accept', function () { if (securitycode_mask.value.length == 0) { document.getElementById('svgsecurity').innerHTML = '985'; } else { document.getElementById('svgsecurity').innerHTML = securitycode_mask.value; } }); //On Focus Events name.addEventListener('focus', function () { document.querySelector('.creditcard').classList.remove('flipped'); }); cardnumber.addEventListener('focus', function () { document.querySelector('.creditcard').classList.remove('flipped'); }); expirationdate.addEventListener('focus', function () { document.querySelector('.creditcard').classList.remove('flipped'); }); securitycode.addEventListener('focus', function () { document.querySelector('.creditcard').classList.add('flipped'); }); };