(function() { 'use strict'; jQuery.validator.addMethod("regex", function(value, element, regexp) { if (regexp.constructor != RegExp) regexp = new RegExp(regexp); else if (regexp.global) regexp.lastIndex = 0; return this.optional(element) || regexp.test(value); },"Check your input. The format is not valid." ); jQuery.validator.addMethod("phoneUS", function(phone_number, element) { phone_number = phone_number.replace(/\s+/g, ""); return this.optional(element) || phone_number.length > 9 && phone_number.match(/^(\+?1-?)?(\([2-9]\d{2}\)|[2-9]\d{2})-?[2-9]\d{2}-?\d{4}$/); }, "Please specify a valid phone number"); jQuery.validator.addMethod("stateUS", function (state, element) { return this.optional(element) || state.match(/^(A[LKSZRAEP]|C[AOT]|D[EC]|F[LM]|G[ANU]|HI|I[ADLN]|K[SY]|LA|M[ADEHINOPST]|N[CDEHJMVY]|O[HKR]|P[ARW]|RI|S[CD]|T[NX]|UT|V[AIT]|W[AIVY])$/); }, "Please specify a valid state"); // Edit Account form validation $("#editAccount").validate({ rules: { first_name: { required: true }, last_name: { required: true }, email: { required: true, email: true }, address_line1: { required: true }, address_city: { required: true }, address_state: { required: true, stateUS: true, }, address_zip: { required: true }, home_phone: { required: true, phoneUS: true }, alt_phone: { phoneUS: true } }, messages: { first_name: { required: "First Name is a required field." }, last_name: { required: "Last Name is a required field." }, email: { required: "Email Address is a required field.", email: "Please enter a valid email address." }, address_line1: { required: "Address is a required field." }, address_city: { required: "City is a required field." }, address_state: { required: "A valid State two-letter code is required." }, address_zip: { required: "Zip Code is a required field." }, home_phone: { required: "Home Phone is required.", phoneUS: "Home Phone must be valid." }, alt_phone: { phoneUS: "Alternate Phone must be valid." } } }); // Change Password form validation $("#changePW").validate({ rules: { password: { required: true, minlength: 10, regex: "^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{10,}$" }, confirmpwd: { required: true, equalTo: '#password' } }, messages: { password: { required: "Password is required", minlength: "Password should be at least 10 characters.", regex: "The password is not the appropriate format." }, confirmpwd: { required: "Password confirmation is required.", equalTo: "The passwords do not match." } } }); }).apply(this, [jQuery]); function toggleView(elementID) { var x = document.getElementById(elementID); if (elementID == "change-password") { y=document.getElementById("edit-account"); } else { y=document.getElementById("change-password"); } if (x.style.display === "none") { x.style.display = "block"; y.style.display = "none"; } else { x.style.display = "none"; } } // Update password $("#changePW").submit(function(e){ var pw=$("#password").val(); var cpw=$("#confirmpwd").val(); if ((pw===cpw) && (pw !== "")) { var form_data = $(this).serialize(); $.ajax({ url: "/php/update-password.php", type: "POST", dataType:"json", data: form_data }).done(function(data){ if (data.error) { $("#change-password-error-msg").html(data.error); $("#change-password-error").show(); setTimeout(function(){$("#change-password-error").hide()}, 4500); } else { $("#change-password-success-msg").html(data.success); $("#change-password-success").show(); setTimeout(function(){$("#change-password-success").hide()}, 4500); setTimeout(function(){$("#change-password").hide()}, 7200); } }) $("#password").val(""); $("#confirmpwd").val(""); } e.preventDefault(); }); $(".track-order").click(function(){ var oid = $(this).attr("data-code"); Wolmart.popup({ type:"ajax", mainClass:"mfp-newsletter mfp-fadein-popup", items:{ src:"/php/tracking.php?oid="+oid } }); });