$(function () { $.validator.addMethod( 'regexp', function (value, element, regexp) { var re = new RegExp(regexp); return this.optional(element) || re.test(value); } ); $.validator.addMethod( 'maxlength', function (value, element, maxlength) { return this.optional(element) || value.length == maxlength; } ); $('#prePost').validate({ highlight: function (element, errorClass, validClass) { return $(element).closest('.control-group').removeClass('success').addClass('error'); }, unhighlight: function (element, errorClass, validClass) { return $(element).closest('.control-group').removeClass('error').addClass('success'); }, success: function (label) { return $(label).closest('form').find('.valid').removeClass('invalid'); }, errorPlacement: function (error, element) { return element.closest('.control-group').find('.error-wrapper').html(error.text()); }, onkeyup: function (element) { if (element.id == "telefon" && element.value.length > 0) { $(element).valid(); } }, onfocusout: function (element, errorClass, validClass) { if(element.id == "telefon" && element.value.length != 10) { $(element).closest('.control-group').removeClass('success').addClass('error'); return $(element).closest('.control-group').find('.error-wrapper').html($('#phone-error-msg').html()); } else { $(element).valid(); } }, onsubmit: function () { return false; } }); $('#prePostSMS').validate({ highlight: function (element, errorClass, validClass) { return $(element).closest('.control-group').removeClass('success').addClass('error'); }, unhighlight: function (element, errorClass, validClass) { return $(element).closest('.control-group').removeClass('error').addClass('success'); }, success: function (label) { return $(label).closest('form').find('.valid').removeClass('invalid'); }, errorPlacement: function (error, element) { return element.closest('.control-group').find('.error-wrapper').html(error.text()); }, onkeyup: function (element) { if (element.id == "sms" && element.value.length > 0) { $(element).valid(); } }, onfocusout: function (element, errorClass, validClass) { if(element.id == "sms" && element.value.length != 4) { $(element).closest('.control-group').removeClass('success').addClass('error'); return $(element).closest('.control-group').find('.error-wrapper').html($('#sms-error-msg').html()); } else { $(element).valid(); } }, onsubmit: function () { return false; } }); }); function clearAlerts() { $("#prePost").find(".alert").slideUp(); $("#prePostSMS").find(".alert-danger").slideUp(); $('.prePostVerify .alert-success').slideUp(); } function clearForms() { $("#prePost").hide(); $("#prePostSMS fieldset").hide(); $("#telefon").val(""); $("#sms").val(""); $("#msisdn").val(""); } function askForMsisdn() { clearAlerts(); clearForms(); $("#prePostSubmit").show(); $('#prePost').fadeIn(); } function askForSmsCode(msisdn) { clearAlerts(); clearForms(); $(".validMsisdn").html(msisdn) $("#prePostSMSSubmit").show(); $("#cancelPrePost").show(); $('#prePostSMS').show(); $('#prePostSMS fieldset').fadeIn(); } function showVerifiedMsisdn(msisdn) { clearAlerts(); clearForms(); $('#prePostSMS').show(); $('#prePostSMS fieldset').hide(); $('.validMsisdn').html(msisdn); $('.prePostVerify .alert-success').slideDown(); } function prePostSubmit() { if ($("#prePost").valid() == true ) { $("#msisdn").val($("#telefon").val()); $("#prePostSubmit").hide(); $(".favouriteNumberLoading").show(); $("#sendPrePostSMSCode").click(); $("#prePost").find(".alert").slideUp(); } return false; } function prePostSMSSubmit() { if ($("#prePostSMS").valid() == true ) { $("#smsCodeToCheck").val($("#sms").val()); $("#prePostSMSSubmit").hide(); $("#cancelPrePost").hide(); $(".favouriteNumberLoading").show(); $("#checkPrePostSMSCode").click(); $("#prePostSMS").find(".alert-danger").slideUp(); } return false; } function cancelPrePost() { $("#prePostSMSSubmit").hide(); $("#cancelPrePost").hide(); $(".favouriteNumberLoading").show(); $("#cancelPrePostSMSCode").click(); } $(document).ready(function() { if ($(".prePostVerify").length) { $('[data-toggle="tooltip"]').tooltip(); $("#prePostAjax").ajaxForm({ async: true, dataType: 'json', success: function(data) { $(".favouriteNumberLoading").hide(); $("#prePostSubmit").show(); var txt = JSON.stringify(data); var ret = jQuery.parseJSON(txt); if(ret != undefined && ret['result'] == 'success') { askForSmsCode(ret['msisdn']); } else if(ret != undefined && ret['result'] == 'fail') { console.log(ret['errorMessage']); $("#prePost").find(".alert").slideDown(); } else { $("#prePost").find(".alert").slideDown(); } }, error: function (jqXHR, textStatus, errorThrown) { console.log(textStatus); $(".favouriteNumberLoading").hide(); $("#prePostSubmit").show(); $("#prePost").find(".alert").slideDown(); } }); $("#prePostSMSAjax").ajaxForm({ async: true, dataType: 'json', success: function(data) { $(".favouriteNumberLoading").hide(); $("#prePostSMSSubmit").show(); $("#cancelPrePost").show(); var txt = JSON.stringify(data); var ret = jQuery.parseJSON(txt); if(ret != undefined && ret['result'] == 'success') { showVerifiedMsisdn(ret['msisdn']); } else if(ret != undefined && ret['result'] == 'fail') { console.log(ret['errorMessage']); $("#prePostSMS").find(".alert-danger").slideDown(); } else { $("#prePostSMS").find(".alert-danger").slideDown(); } }, error: function (jqXHR, textStatus, errorThrown) { console.log(textStatus); $(".favouriteNumberLoading").hide(); $("#prePostSMSSubmit").show(); $("#cancelPrePost").show(); $("#prePostSMS").find(".alert-danger").slideDown(); } }); $("#prePostCancelAjax").ajaxForm({ async: true, dataType: 'json', success: function(data) { $(".favouriteNumberLoading").hide(); var txt = JSON.stringify(data); var ret = jQuery.parseJSON(txt); if(ret != undefined && ret['result'] == 'success') { askForMsisdn(); } else { $("#prePostSMSSubmit").show(); $("#cancelPrePost").show(); } }, error: function (jqXHR, textStatus, errorThrown) { console.log(textStatus); $(".favouriteNumberLoading").hide(); $("#prePostSMSSubmit").show(); $("#cancelPrePost").show(); } }); $.ajax({ async : true, dataType : 'json', url : '/blocks/product/plan/pre2postVerify.jsp?result=success', success : function(data) { $(".favouriteNumberLoading").hide(); var txt = JSON.stringify(data); var ret = jQuery.parseJSON(txt); if(ret != undefined && ret['msisdn'] != '') { if(ret['verified'] == 'true') { showVerifiedMsisdn(ret['msisdn']); } else { askForSmsCode(ret['msisdn']); } } else { askForMsisdn(); } }, error: function (jqXHR, textStatus, errorThrown) { console.log(textStatus); $(".favouriteNumberLoading").hide(); askForMsisdn(); } }); var maxlengthDisplaymsg1 = $("#maxlengthDisplaymsg1").val(); var maxlengthDisplaymsg2 = $("#maxlengthDisplaymsg2").val(); $.extend($.validator.messages, { required: "This field is required.", remote: "Please fix this field.", email: "Please enter a valid email address.", url: "Please enter a valid URL.", date: "Please enter a valid date.", dateISO: "Please enter a valid date (ISO).", number: "Please enter a valid number.", digits: "Please enter only digits.", creditcard: "Please enter a valid credit card number.", equalTo: "Please enter the same value again.", accept: "Please enter a value with a valid extension.", maxlength: $.validator.format(maxlengthDisplaymsg1 +" {0} " + maxlengthDisplaymsg2 + "."), minlength: $.validator.format("Please enter at least {0} characters."), rangelength: $.validator.format("Please enter a value between {0} and {1} characters long."), range: $.validator.format("Please enter a value between {0} and {1}."), max: $.validator.format("Please enter a value less than or equal to {0}."), min: $.validator.format("Please enter a value greater than or equal to {0}.") }); } });