summaryrefslogtreecommitdiff
blob: 696b707b177d2fba7a43943b195cb637a882c841 (plain)
1
function WMP_SEND_FEEDBACK(){var e=this;this.type="wmp_feedback",this.form,this.DOMDoc,this.feedbackEmail,this.init=function(){WMPJSInterface=window.parent.WMPJSInterface,this.send_btn=jQuery("#"+this.type+"_send_btn",this.DOMDoc).get(0),this.form=this.DOMDoc.getElementById(this.type+"_form"),this.addButtonsActions(),null!=this.form&&this.initValidation()},this.initValidation=function(){this.validator=jQuery("#"+this.form.id,this.DOMDoc).validate({rules:{wmp_feedback_email:{required:!0,email:!0},wmp_feedback_name:{required:!0},wmp_feedback_message:{required:!0}},errorPlacement:function(t,i){var o=i[0].id.split("_"),r=o.length>1?o[o.length-1]:o[0],a=jQuery("#error_"+r+"_container",e.DOMDoc);t.appendTo(a)},errorElement:"span"});var t=jQuery("#"+this.type+"_name",this.DOMDoc);t.data("holder",t.attr("placeholder")),t.focusin(function(){jQuery(this).attr("placeholder","")}).focusout(function(){jQuery(this).attr("placeholder",jQuery(this).data("holder"))});var i=jQuery("#"+this.type+"_email",this.DOMDoc);i.data("holder",i.attr("placeholder")),i.focusin(function(){jQuery(this).attr("placeholder","")}).focusout(function(){jQuery(this).attr("placeholder",jQuery(this).data("holder"))});var o=jQuery("#"+this.type+"_message",this.DOMDoc);o.data("holder",o.attr("placeholder")),o.focusin(function(){jQuery(this).attr("placeholder","")}).focusout(function(){jQuery(this).attr("placeholder",jQuery(this).data("holder"))})},this.addButtonsActions=function(){jQuery(this.send_btn).unbind("click"),jQuery(this.send_btn).bind("click",function(){e.disableButton(this),e.validate()}),e.enableButton(this.send_btn)},this.enableButton=function(e){jQuery(e).css("cursor","pointer"),jQuery(e).animate({opacity:1},100)},this.disableButton=function(e){jQuery(e).unbind("click"),jQuery(e).animate({opacity:.4},100),jQuery(e).css("cursor","default")},this.scrollToError=function(t){var i=jQuery("html,body",e.DOMDoc),o=parseInt(jQuery("html,body").scrollTop())||parseInt(jQuery("body").scrollTop()),r=i.get(0).clientHeight;parseInt(i.offset().top);t<o?jQuery(i).animate({scrollTop:t-20},1e3):t>o+r&&jQuery(i).animate({scrollTop:o+r},1e3)},this.validate=function(){if(jQuery(this.form).validate().form(),!jQuery("#"+e.type+"_permissions_email",e.DOMDoc).is(":checked")&&!jQuery("#"+e.type+"_permissions_directemail",e.DOMDoc).is(":checked"))return alert("Please confirm that we can contact you over email"),void e.addButtonsActions();var t=[];for(var i in this.validator.invalid){var o=jQuery(this.form[i]);t.push(o.offset().top)}0==t.length?e.sendData():(t.sort(function(e,t){return e-t}),e.scrollToError(t[0]),e.addButtonsActions())},this.submitForm=function(){return WMPJSInterface.AjaxUpload.dosubmit(e.form,{onStart:e.startUploadingData,onComplete:e.completeUploadingData})},this.sendData=function(){jQuery("#"+this.form.id,this.DOMDoc).unbind("submit"),jQuery("#"+this.form.id,this.DOMDoc).bind("submit",function(){e.submitForm()}),jQuery("#"+this.form.id,this.DOMDoc).submit(),e.disableButton(e.send_btn)},this.startUploadingData=function(){return WMPJSInterface.Preloader.start({message:"Please wait..."}),setTimeout(function(){var t=e.form.elements;for(nElems=t.length,j=0;j<nElems;j++)t[j].disabled=!0},300),jQuery(".feedback",e.DOMDoc).animate({opacity:.4},300),!0},this.completeUploadingData=function(t){if(jQuery("#"+e.form.id,e.DOMDoc).unbind("submit"),jQuery("#"+e.form.id,e.DOMDoc).bind("submit",function(){return!1}),t=Boolean(Number(String(t))),WMPJSInterface.Preloader.remove(100),t){var i="Thank you for your message, we'll be in touch with you soon!";WMPJSInterface.Loader.display({message:i}),e.form.reset()}else{i='We were unable to send the message because your mail() function is probably disabled. Please send your message directly to <a href="mailto:'+e.feedbackEmail+'">'+e.feedbackEmail+"</a>.";WMPJSInterface.Loader.display({message:i,time:15e3})}setTimeout(function(){var t=e.form.elements;for(nElems=t.length,j=0;j<nElems;j++)t[j].disabled=!1},300),e.addButtonsActions(),jQuery(".feedback",e.DOMDoc).animate({opacity:1},300)}}