/** * register.js * * supporting js for register.php * * mainly the form validation */ ! function($, undefined) { window.fInitValidation = function($elem) { window.validator = $elem.validate( { rules : { sRegisterFN : { required : true }, sRegisterLN : { required : true }, sRegisterTel : { required: true }, sRegisterEmail : { required : true, email : true }, sRegisterPassword : { required : true }, sRegisterConfPassword : { required : true, equalTo : "#sRegisterPassword" }, sRegisterBillingAddr1 : { required: true }, sRegisterBillingTown : { required: true }, sRegisterBillingPostcode : { required: true }, sRegisterDeliveryAddr1 : { required: { depends: function(element) { return ( ! $('#sRegisterSameAsBilling').is(':checked') ); } } }, sRegisterDeliveryTown : { required: { depends: function(element) { return ( ! $('#sRegisterSameAsBilling').is(':checked') ); } } }, sRegisterDeliveryPostcode : { required: { depends: function(element) { return ( ! $('#sRegisterSameAsBilling').is(':checked') ); } } }, bPrivacy : { required: true } }, messages : { } }); }; // expose the fValidate function to global js scope window.fValidate = function($elem) { fInitValidation($elem); var $context = $elem; var $valid = true; $(':input', $context).each(function(index, element) { $valid = validator.element(element) && $valid; }); if (document.getElementById('bPrivacy').checked==false) { alert('Please tick the checkbox above the Register button to agree to our privacy policy'); return; } if ( ! $valid ) { return false; } return true; }; $(document).on('submit', 'form', function(e){ if(fValidate( $(this) )&&fCheckRegister()) return true; else return false; }); }(jQuery); function fchkfrm() { var bValid = true; var $bAlertedOnce = 0; // Check recaptcha if($("#g-recaptcha-response-1").val() == '') { if($bAlertedOnce == 0) { alert("Please tick the box to show you're a human"); // Reset recaptcha //grecaptcha.reset(widgetId2); //grecaptcha.reset(widgetId3); $bAlertedOnce = 1; } bValid = false; } return bValid; }