jQuery().ready(function() { jQuery('.navsearch_field').example('Enter Your Email'); jQuery('#ajaxform .amount').example('$0.00'); jQuery('#ajaxform .email').example('Enter Email'); jQuery('#ajaxform .first_name').example('First Name'); jQuery('#ajaxform .last_name').example('Last Name'); jQuery('#ajaxform .phone').example('Home Phone'); jQuery('#ajaxform .address1').example('Address'); jQuery('#ajaxform .address2').example('Suite/Apt'); jQuery('#ajaxform .city').example('City'); jQuery('#ajaxform .state').example('State'); jQuery('#ajaxform .zipcode').example('Zipcode'); jQuery('#ajaxformgetinvolved .email').example('Enter Email'); jQuery('#ajaxformgetinvolved .first_name').example('First Name'); jQuery('#ajaxformgetinvolved .last_name').example('Last Name'); jQuery('#ajaxformgetinvolved .phone').example('Home phone'); jQuery('#ajaxformgetinvolved .cellphone').example('Cell phone'); jQuery('#ajaxformgetinvolved .address1').example('Address'); jQuery('#ajaxformgetinvolved .address2').example('Suite'); jQuery('#ajaxformgetinvolved .city').example('City'); jQuery('#ajaxformgetinvolved .state').example('State'); jQuery('#ajaxformgetinvolved .zipcode').example('Zipcode'); jQuery('#ajaxformendorse .first_name').example('First Name'); jQuery('#ajaxformendorse .last_name').example('Last Name'); jQuery('#ajaxformendorse .city').example('City'); jQuery('#ajaxformendorse .email').example('Enter Email'); jQuery('#ajaxformendorse .state').example('State'); jQuery('#ajaxformendorse .zipcode').example('Zipcode'); jQuery('#ajaxformendorse .endorse').example('Your endorsement message:'); jQuery('#ajaxformtellafriend .email').example('Enter Email'); jQuery('#ajaxformtellafriend .your_name').example('Full Name'); jQuery('#ajaxformtellafriend .yourmessage').example('Message:'); jQuery('#ajaxformtellafriend .friends_name').example('Friends Name'); jQuery('#ajaxformtellafriend .friends_email').example('Friends Email'); }); jQuery().ready(function() { function getCaretPosition(ctl){ var res = {begin: 0, end: 0 }; if (ctl.setSelectionRange){ res.begin = ctl.selectionStart; res.end = ctl.selectionEnd; }else if (document.selection && document.selection.createRange){ var range = document.selection.createRange(); res.begin = 0 - range.duplicate().moveStart('character', -100000); res.end = res.begin + range.text.length; } return res; }; function setCaretPosition(ctl, pos){ if(ctl.setSelectionRange){ ctl.focus(); ctl.setSelectionRange(pos,pos); }else if (ctl.createTextRange){ var range = ctl.createTextRange(); range.collapse(true); range.moveEnd('character', pos); range.moveStart('character', pos); range.select(); } }; //Predefined character definitions var charMap={ '9':"[0-9]", 'a':"[A-Za-z]", '*':"[A-Za-z0-9]" }; //Helper method to inject character definitions jQuery.mask={ addPlaceholder : function(c,r){ charMap[c]=r; } }; jQuery.fn.unmask=function(){ return this.trigger("unmask"); }; //Main Method jQuery.fn.mask = function(mask,settings) { settings = jQuery.extend({ placeholder: "_", completed: null }, settings); //Build Regex for format validation var reString="^"; for(var i=0;i 16 && k < 32 ) || (k > 32 && k < 41)); //delete selection before proceeding if((pos.begin-pos.end)!=0 && (!ignore || k==8 || k==46)){ clearBuffer(pos.begin,pos.end); } //backspace and delete get special treatment if(k==8){//backspace while(pos.begin-->=0){ if(!locked[pos.begin]){ buffer[pos.begin]=settings.placeholder; if(jQuery.browser.opera){ //Opera won't let you cancel the backspace, so we'll let it backspace over a dummy character. writeBuffer(pos.begin); setCaretPosition(this,pos.begin+1); }else{ writeBuffer(); setCaretPosition(this,pos.begin); } return false; } } }else if(k==46){//delete clearBuffer(pos.begin,pos.begin+1); writeBuffer(); setCaretPosition(this,pos.begin); return false; }else if (k==27){ clearBuffer(0,mask.length); writeBuffer(); setCaretPosition(this,0); return false; } }; input.bind("keydown",keydownEvent); function keypressEvent(e){ if(ignore){ ignore=false; return; } e=e||window.event; var k=e.charCode||e.keyCode||e.which; var pos=getCaretPosition(this); var caretPos=pos.begin; if(e.ctrlKey || e.altKey){//Ignore return true; }else if ((k>=41 && k<=122) ||k==32 || k>186){//typeable characters while(pos.begin=buffer.length) settings.completed.call(input); else setCaretPosition(this,caretPos); return false; }; input.bind("keypress",keypressEvent); /*Helper Methods*/ function clearBuffer(start,end){ for(var i=start;i 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("money", function(value, element) { return this.optional(element) || /^\$?[0-9][0-9\,]*(\.\d{1,2})?$|^\$?[\.]([\d][\d]?)$/.test(value); }, "Please provide a valid dollar amount (up to 2 decimal places)"); jQuery('#ajaxform').validate( { rules: { email: { required: true, email: true, minlength: 3 }, first_name: { required: true, minlength: 3 }, last_name: { required: true, minlength: 3 }, amount: { required: true, money: true }, phone: { required: true, phoneUS: true } }, messages: { first_name: "First name required", last_name: "Last name required", amount: "Amount is required", email: { required: "We need your email address to contact you", email: "Your email address must be in the format of name@domain.com" } }, invalidHandler: function(e, validator) { var errors = validator.numberOfInvalids(); if (errors) { var message = errors == 1 ? 'You missed 1 field. It has been highlighted below' : 'You missed ' + errors + ' fields. They have been highlighted below'; jQuery("div.error p span").html(message); jQuery("div.error").show(); } else { jQuery("div.error").hide(); } }, onkeyup: false, submitHandler: function() { jQuery("div.error").hide(); alert("submit! use link below to go to the other step"); } }); jQuery('.error').hide(); jQuery('input.text-input').css({backgroundColor:"#FFFFFF"}); jQuery('input.text-input').focus(function(){ jQuery(this).css({backgroundColor:"#FFDDAA"}); }); jQuery('input.text-input').blur(function(){ jQuery(this).css({backgroundColor:"#FFFFFF"}); }); jQuery(".contributebutton").click( function() { if(jQuery('#ajaxform').validate().form()) { } else { return false; } jQuery('.error').hide(); jQuery('.contributebutton').hide(200); dataString = jQuery('#ajaxform').serializeArray(); jQuery.ajax({ type: "POST", url: "/wp-content/plugins/wp-civicrm-auth/php/it-plugin-ajax.php", data: dataString, error: function(XMLHttpRequest, textStatus, errorThrown) { var myJSONText = JSON.stringify(XMLHttpRequest); alert("XMLHttpRequest: "+XMLHttpRequest.responseText +"\n"+"textStatus:"+textStatus+"\n"+"errorThrown: "+errorThrown+"\nDEBUG:\n"+myJSONText); jQuery('.contributebutton').show(); }, beforeSend: function(x) { }, success: function(indata, textStatus, message) { json = eval("(" + indata + ")"); if(json.status == 'success') { jQuery('#contact_form').html("
"); var ty = '

'+ json.message + '

'; jQuery('#message').html(ty) //.append("

Your contribution is securing our future.

") .hide() .fadeIn(1500, function() { jQuery('#message').append(""); }); //jQuery('.button').show(); if (json.redirect) { // data.redirect contains the string URL to redirect to window.location.href = json.redirect + "?" + "amount=" + json.amount + "&email=" + json.email + "&first_name=" + json.first_name + "&last_name=" + json.last_name + "&phone=" + json.phone + "&address1=" + json.address1 + "&address2=" + json.address2 + "&city=" + json.city + "&state=" + json.state + "&zipcode=" + json.zipcode ; } } else { alert("There was an error with processing your form: "+json.message); jQuery("div#contact_form_error").show(); jQuery('.contributebutton').show(); return false; } }, dataType: "json" }); return false; }); });