jQuery(document).ready(function() { // Handle sendlink form. jQuery("#submit-button").click(function(event){ event.preventDefault(); upgrade(); }); jQuery("#prodkey").keypress(function(event){ if (event.which == 13) { event.preventDefault(); upgrade(); } }); }); function upgrade() { var prodkey = trim(jQuery("#prodkey").val()); if (!validateProductKey(prodkey)) { alert("Please enter a valid product key!"); jQuery("#prodkey").focus(); return; } jQuery("#submit-button").attr('disabled', 'disabled'); jQuery("#spinner-div").show(); jQuery.post("http://www.cerience.com/wp-content/plugins/cerience/upgrade.php", { prodkey: prodkey }, function(response){ jQuery("#spinner-div").hide(); jQuery("#submit-button").removeAttr('disabled'); response = trim(response); if (response == "success") { if (confirm("Your product key was verified. Click OK to see your upgrade discount in our secure shopping cart.")) { window.location = "https://www.cerience.com/purchase/reader?prodkey=" + prodkey; } } else if (response.substr(0,5) == "free:") { var email = response.substr(5); if (confirm("Congratulations! You qualify for a free upgrade. Click OK to have your new product key emailed to " + email + ". Your full email address is not shown for security purposes.")) { emailKey(prodkey, email); } } else if (response == "not_found") { alert("Your product key could not be located. Please try again."); } else if (response == "used") { alert("This product key has already been used for an upgrade."); } else { alert("Sorry, an error occurred. Please report this to our support team."); } }); } function emailKey(prodkey, email) { jQuery("#submit-button").attr('disabled', 'disabled'); jQuery("#spinner-div").show(); jQuery.post("http://www.cerience.com/wp-content/plugins/cerience/upgrade.php", { prodkey: prodkey, send: "1" }, function(response){ jQuery("#spinner-div").hide(); jQuery("#submit-button").removeAttr('disabled'); response = trim(response); if (response == "success") { alert("Thank you! Your new product key was successfully emailed to " + email + "."); } else { alert("Sorry, an error occurred. Please try again."); } }); } function trim(str) { return str.replace(/^\s+|\s+$/g,""); } function validateProductKey(prodkey) { return (prodkey.length != 0); }