/** jQuery Form Plugin; v20130616* http://jquery.malsup.com/form/* Copyright (c) 2013 M. Alsup; Dual licensed: MIT/GPL* https://github.com/malsup/form#copyright-and-license*/;(function(e){"use strict";functiont(t){varr=t.data;t.isDefaultPrevented()||(t.preventDefault(),e(this).ajaxSubmit(r))}functionr(t){varr=t.target,a=e(r);if(!a.is("[type=submit],[type=image]")){varn=a.closest("[type=submit]");if(0===n.length)return;r=n[0]}vari=this;if(i.clk=r,"image"==r.type)if(void0!==t.offsetX)i.clk_x=t.offsetX,i.clk_y=t.offsetY;elseif("function"==typeofe.fn.offset){varo=a.offset();i.clk_x=t.pageX-o.left,i.clk_y=t.pageY-o.top}elsei.clk_x=t.pageX-r.offsetLeft,i.clk_y=t.pageY-r.offsetTop;setTimeout(function(){i.clk=i.clk_x=i.clk_y=null},100)}functiona(){if(e.fn.ajaxSubmit.debug){vart="[jquery.form] "+Array.prototype.join.call(arguments,"");window.console&&window.console.log?window.console.log(t):window.opera&&window.opera.postError&&window.opera.postError(t)}}varn={};n.fileapi=void0!==e("<input type='file'/>").get(0).files,n.formdata=void0!==window.FormData;vari=!!e.fn.prop;e.fn.attr2=function(){if(!i)returnthis.attr.apply(this,arguments);vare=this.prop.apply(this,arguments);returne&&e.jquery||"string"==typeofe?e:this.attr.apply(this,arguments)},e.fn.ajaxSubmit=function(t){functionr(r){vara,n,i=e.param(r,t.traditional).split("&"),o=i.length,s=[];for(a=0;o>a;a++)i[a]=i[a].replace(/\+/g,""),n=i[a].split("="),s.push([decodeURIComponent(n[0]),decodeURIComponent(n[1])]);returns}functiono(a){for(varn=newFormData,i=0;a.length>i;i++)n.append(a[i].name,a[i].value);if(t.extraData){varo=r(t.extraData);for(i=0;o.length>i;i++)o[i]&&n.append(o[i][0],o[i][1])}t.data=null;vars=e.extend(!0,{},e.ajaxSettings,t,{contentType:!1,processData:!1,cache:!1,type:u||"POST"});t.uploadProgress&&(s.xhr=function(){varr=e.ajaxSettings.xhr();returnr.upload&&r.upload.addEventListener("progress",function(e){varr=0,a=e.loaded||e.position,n=e.total;e.lengthComputable&&(r=Math.ceil(100*(a/n))),t.uploadProgress(e,a,n,r)},!1),r}),s.data=null;varl=s.beforeSend;returns.beforeSend=function(e,t){t.data=n,l&&l.call(this,e,t)},e.ajax(s)}functions(r){functionn(e){vart=null;try{e.contentWindow&&(t=e.contentWindow.document)}catch(r){a("cannot get iframe.contentWindow document: "+r)}if(t)returnt;try{t=e.contentDocument?e.contentDocument:e.document}catch(r){a("cannot get iframe.contentDocument: "+r),t=e.document}returnt}functiono(){functiont(){try{vare=n(g).readyState;a("state = "+e),e&&"uninitialized"==e.toLowerCase()&&setTimeout(t,50)}catch(r){a("Server abort: ",r," (",r.name,")"),s(D),j&&clearTimeout(j),j=void0}}varr=f.attr2("target"),i=f.attr2("action");w.setAttribute("target",d),u||w.setAttribute("method","POST"),i!=m.url&&w.setAttribute("action",m.url),m.skipEncodingOverride||u&&!/post/i.test(u)||f.attr({encoding:"multipart/form-data",enctype:"multipart/form-data"}),m.timeout&&(j=setTimeout(function(){T=!0,s(k)},m.timeout));varo=[];try{if(m.extraData)for(varlinm.extraData)m.extraData.hasOwnProperty(l)&&(e.isPlainObject(m.extraData[l])&&m.extraData[l].hasOwnProperty("name")&&m.extraData[l].hasOwnProperty("value")?o.push(e('<input type="hidden" name="'+m.extraData[l].name+'">').val(m.extraData[l].value).appendTo(w)[0]):o.push(e('<input type="hidden" name="'+l+'">').val(m.extraData[l]).appendTo(w)[0]));m.iframeTarget||(v.appendTo("body"),g.attachEvent?g.attachEvent("onload",s):g.addEventListener("load",s,!1)),setTimeout(t,15);try{w.submit()}catch(c){varp=document.createElement("form").submit;p.apply(w)}}finally{w.setAttribute("action",i),r?w.setAttribute("target",r):f.removeAttr("target"),e(o).remove()}}functions(t){if(!x.aborted&&!F){if(M=n(g),M||(a("cannot access response document"),t=D),t===k&&x)returnx.abort("timeout"),S.reject(x,"timeout"),void0;if(t==D&&x)returnx.abort("server abort"),S.reject(x,"error","server abort"),void0;if(M&&M.location.href!=m.iframeSrc||T){g.detachEvent?g.detachEvent("onload",s):g.removeEventListener("load",s,!1);varr,i="success";try{if(T)throw"timeout";varo="xml"==m.dataType||M.XMLDocument||e.isXMLDoc(M);if(a("isXml="+o),!o&&window.opera&&(null===M.body||!M.body.innerHTML)&&--O)returna("requeing onLoad callback, DOM not available"),setTimeout(s,250),void0;varu=M.body?M.body:M.documentElement;x.responseText=u?u.innerHTML:null,x.responseXML=M.XMLDocument?M.XMLDocument:M,o&&(m.dataType="xml"),x.getResponseHeader=function(e){vart={"content-type":m.dataType};returnt[e]},u&&(x.status=Number(u.getAttribute("status"))||x.status,x.statusText=u.getAttribute("statusText")||x.statusText);varl=(m.dataType||"").toLowerCase(),c=/(json|script|text)/.test(l);if(c||m.textarea){varf=M.getElementsByTagName("textarea")[0];if(f)x.responseText=f.value,x.status=Number(f.getAttribute("status"))||x.status,x.statusText=f.getAttribute("statusText")||x.statusText;elseif(c){vard=M.getElementsByTagName("pre")[0],h=M.getElementsByTagName("body")[0];d?x.responseText=d.textContent?d.textContent:d.innerText:h&&(x.responseText=h.textContent?h.textContent:h.innerText)}}else"xml"==l&&!x.responseXML&&x.responseText&&(x.responseXML=X(x.responseText));try{L=_(x,l,m)}catch(b){i="parsererror",x.error=r=b||i}}catch(b){a("error caught: ",b),i="error",x.error=r=b||i}x.aborted&&(a("upload aborted"),i=null),x.status&&(i=x.status>=200&&300>x.status||304===x.status?"success":"error"),"success"===i?(m.success&&m.success.call(m.context,L,"success",x),S.resolve(x.responseText,"success",x),p&&e.event.trigger("ajaxSuccess",[x,m])):i&&(void0===r&&(r=x.statusText),m.error&&m.error.call(m.context,x,i,r),S.reject(x,"error",r),p&&e.event.trigger("ajaxError",[x,m,r])),p&&e.event.trigger("ajaxComplete",[x,m]),p&&!--e.active&&e.event.trigger("ajaxStop"),m.complete&&m.complete.call(m.context,x,i),F=!0,m.timeout&&clearTimeout(j),setTimeout(function(){m.iframeTarget||v.remove(),x.responseXML=null},100)}}}varl,c,m,p,d,v,g,x,b,y,T,j,w=f[0],S=e.Deferred();if(r)for(c=0;h.length>c;c++)l=e(h[c]),i?l.prop("disabled",!1):l.removeAttr("disabled");if(m=e.extend(!0,{},e.ajaxSettings,t),m.context=m.context||m,d="jqFormIO"+(newDate).getTime(),m.iframeTarget?(v=e(m.iframeTarget),y=v.attr2("name"),y?d=y:v.attr2("name",d)):(v=e('<iframe name="'+d+'" src="'+m.iframeSrc+'" />'),v.css({position:"absolute",top:"-1000px",left:"-1000px"})),g=v[0],x={aborted:0,responseText:null,responseXML:null,status:0,statusText:"n/a",getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){},abort:function(t){varr="timeout"===t?"timeout":"aborted";a("aborting upload... "+r),this.aborted=1;try{g.contentWindow.document.execCommand&&g.contentWindow.document.execCommand("Stop")}catch(n){}v.attr("src",m.iframeSrc),x.error=r,m.error&&m.error.call(m.context,x,r,t),p&&e.event.trigger("ajaxError",[x,m,r]),m.complete&&m.complete.call(m.context,x,r)}},p=m.global,p&&0===e.active++&&e.event.trigger("ajaxStart"),p&&e.event.trigger("ajaxSend",[x,m]),m.beforeSend&&m.beforeSend.call(m.context,x,m)===!1)returnm.global&&e.active--,S.reject(),S;if(x.aborted)returnS.reject(),S;b=w.clk,b&&(y=b.name,y&&!b.disabled&&(m.extraData=m.extraData||{},m.extraData[y]=b.value,"image"==b.type&&(m.extraData[y+".x"]=w.clk_x,m.extraData[y+".y"]=w.clk_y)));vark=1,D=2,A=e("meta[name=csrf-token]").attr("content"),E=e("meta[name=csrf-param]").attr("content");E&&A&&(m.extraData=m.extraData||{},m.extraData[E]=A),m.forceSync?o():setTimeout(o,10);varL,M,F,O=50,X=e.parseXML||function(e,t){returnwindow.ActiveXObject?(t=newActiveXObject("Microsoft.XMLDOM"),t.async="false",t.loadXML(e)):t=(newDOMParser).parseFromString(e,"text/xml"),t&&t.documentElement&&"parsererror"!=t.documentElement.nodeName?t:null},C=e.parseJSON||function(e){returnwindow.eval("("+e+")")},_=function(t,r,a){varn=t.getResponseHeader("content-type")||"",i="xml"===r||!r&&n.indexOf("xml")>=0,o=i?t.responseXML:t.responseText;returni&&"parsererror"===o.documentElement.nodeName&&e.error&&e.error("parsererror"),a&&a.dataFilter&&(o=a.dataFilter(o,r)),"string"==typeofo&&("json"===r||!r&&n.indexOf("json")>=0?o=C(o):("script"===r||!r&&n.indexOf("javascript")>=0)&&e.globalEval(o)),o};returnS}if(!this.length)returna("ajaxSubmit: skipping submit process - no element selected"),this;varu,l,c,f=this;"function"==typeoft&&(t={success:t}),u=t.type||this.attr2("method"),l=t.url||this.attr2("action"),c="string"==typeofl?e.trim(l):"",c=c||window.location.href||"",c&&(c=(c.match(/^([^#]+)/)||[])[1]),t=e.extend(!0,{url:c,success:e.ajaxSettings.success,type:u||"GET",iframeSrc:/^https/i.test(window.location.href||"")?"javascript:false":"about:blank"},t);varm={};if(this.trigger("form-pre-serialize",[this,t,m]),m.veto)returna("ajaxSubmit: submit vetoed via form-pre-serialize trigger"),this;if(t.beforeSerialize&&t.beforeSerialize(this,t)===!1)returna("ajaxSubmit: submit aborted via beforeSerialize callback"),this;varp=t.traditional;void0===p&&(p=e.ajaxSettings.traditional);vard,h=[],v=this.formToArray(t.semantic,h);if(t.data&&(t.extraData=t.data,d=e.param(t.data,p)),t.beforeSubmit&&t.beforeSubmit(v,this,t)===!1)returna("ajaxSubmit: submit aborted via beforeSubmit callback"),this;if(this.trigger("form-submit-validate",[v,this,t,m]),m.veto)returna("ajaxSubmit: submit vetoed via form-submit-validate trigger"),this;varg=e.param(v,p);d&&(g=g?g+"&"+d:d),"GET"==t.type.toUpperCase()?(t.url+=(t.url.indexOf("?")>=0?"&":"?")+g,t.data=null):t.data=g;varx=[];if(t.resetForm&&x.push(function(){f.resetForm()}),t.clearForm&&x.push(function(){f.clearForm(t.includeHidden)}),!t.dataType&&t.target){varb=t.success||function(){};x.push(function(r){vara=t.replaceTarget?"replaceWith":"html";e(t.target)[a](r).each(b,arguments)})}elset.success&&x.push(t.success);if(t.success=function(e,r,a){for(varn=t.context||this,i=0,o=x.length;o>i;i++)x[i].apply(n,[e,r,a||f,f])},t.error){vary=t.error;t.error=function(e,r,a){varn=t.context||this;y.apply(n,[e,r,a,f])}}if(t.complete){varT=t.complete;t.complete=function(e,r){vara=t.context||this;T.apply(a,[e,r,f])}}varj=e('input[type=file]:enabled[value!=""]',this),w=j.length>0,S="multipart/form-data",k=f.attr("enctype")==S||f.attr("encoding")==S,D=n.fileapi&&n.formdata;a("fileAPI :"+D);varA,E=(w||k)&&!D;t.iframe!==!1&&(t.iframe||E)?t.closeKeepAlive?e.get(t.closeKeepAlive,function(){A=s(v)}):A=s(v):A=(w||k)&&D?o(v):e.ajax(t),f.removeData("jqxhr").data("jqxhr",A);for(varL=0;h.length>L;L++)h[L]=null;returnthis.trigger("form-submit-notify",[this,t]),this},e.fn.ajaxForm=function(n){if(n=n||{},n.delegation=n.delegation&&e.isFunction(e.fn.on),!n.delegation&&0===this.length){vari={s:this.selector,c:this.context};return!e.isReady&&i.s?(a("DOM not ready, queuing ajaxForm"),e(function(){e(i.s,i.c).ajaxForm(n)}),this):(a("terminating; zero elements found by selector"+(e.isReady?"":" (DOM not ready)")),this)}returnn.delegation?(e(document).off("submit.form-plugin",this.selector,t).off("click.form-plugin",this.selector,r).on("submit.form-plugin",this.selector,n,t).on("click.form-plugin",this.selector,n,r),this):this.ajaxFormUnbind().bind("submit.form-plugin",n,t).bind("click.form-plugin",n,r)},e.fn.ajaxFormUnbind=function(){returnthis.unbind("submit.form-plugin click.form-plugin")},e.fn.formToArray=function(t,r){vara=[];if(0===this.length)returna;vari=this[0],o=t?i.getElementsByTagName("*"):i.elements;if(!o)returna;vars,u,l,c,f,m,p;for(s=0,m=o.length;m>s;s++)if(f=o[s],l=f.name,l&&!f.disabled)if(t&&i.clk&&"image"==f.type)i.clk==f&&(a.push({name:l,value:e(f).val(),type:f.type}),a.push({name:l+".x",value:i.clk_x},{name:l+".y",value:i.clk_y}));elseif(c=e.fieldValue(f,!0),c&&c.constructor==Array)for(r&&r.push(f),u=0,p=c.length;p>u;u++)a.push({name:l,value:c[u]});elseif(n.fileapi&&"file"==f.type){r&&r.push(f);vard=f.files;if(d.length)for(u=0;d.length>u;u++)a.push({name:l,value:d[u],type:f.type});elsea.push({name:l,value:"",type:f.type})}elsenull!==c&&c!==void0&&(r&&r.push(f),a.push({name:l,value:c,type:f.type,required:f.required}));if(!t&&i.clk){varh=e(i.clk),v=h[0];l=v.name,l&&!v.disabled&&"image"==v.type&&(a.push({name:l,value:h.val()}),a.push({name:l+".x",value:i.clk_x},{name:l+".y",value:i.clk_y}))}returna},e.fn.formSerialize=function(t){returne.param(this.formToArray(t))},e.fn.fieldSerialize=function(t){varr=[];returnthis.each(function(){vara=this.name;if(a){varn=e.fieldValue(this,t);if(n&&n.constructor==Array)for(vari=0,o=n.length;o>i;i++)r.push({name:a,value:n[i]});elsenull!==n&&n!==void0&&r.push({name:this.name,value:n})}}),e.param(r)},e.fn.fieldValue=function(t){for(varr=[],a=0,n=this.length;n>a;a++){vari=this[a],o=e.fieldValue(i,t);null===o||void0===o||o.constructor==Array&&!o.length||(o.constructor==Array?e.merge(r,o):r.push(o))}returnr},e.fieldValue=function(t,r){vara=t.name,n=t.type,i=t.tagName.toLowerCase();if(void0===r&&(r=!0),r&&(!a||t.disabled||"reset"==n||"button"==n||("checkbox"==n||"radio"==n)&&!t.checked||("submit"==n||"image"==n)&&t.form&&t.form.clk!=t||"select"==i&&-1==t.selectedIndex))returnnull;if("select"==i){varo=t.selectedIndex;if(0>o)returnnull;for(vars=[],u=t.options,l="select-one"==n,c=l?o+1:u.length,f=l?o:0;c>f;f++){varm=u[f];if(m.selected){varp=m.value;if(p||(p=m.attributes&&m.attributes.value&&!m.attributes.value.specified?m.text:m.value),l)returnp;s.push(p)}}returns}returne(t).val()},e.fn.clearForm=function(t){returnthis.each(function(){e("input,select,textarea",this).clearFields(t)})},e.fn.clearFields=e.fn.clearInputs=function(t){varr=/^(?:color|date|datetime|email|month|number|password|range|search|tel|text|time|url|week)$/i;returnthis.each(function(){vara=this.type,n=this.tagName.toLowerCase();r.test(a)||"textarea"==n?this.value="":"checkbox"==a||"radio"==a?this.checked=!1:"select"==n?this.selectedIndex=-1:"file"==a?/MSIE/.test(navigator.userAgent)?e(this).replaceWith(e(this).clone(!0)):e(this).val(""):t&&(t===!0&&/hidden/.test(a)||"string"==typeoft&&e(this).is(t))&&(this.value="")})},e.fn.resetForm=function(){returnthis.each(function(){("function"==typeofthis.reset||"object"==typeofthis.reset&&!this.reset.nodeType)&&this.reset()})},e.fn.enable=function(e){returnvoid0===e&&(e=!0),this.each(function(){this.disabled=!e})},e.fn.selected=function(t){returnvoid0===t&&(t=!0),this.each(function(){varr=this.type;if("checkbox"==r||"radio"==r)this.checked=t;elseif("option"==this.tagName.toLowerCase()){vara=e(this).parent("select");t&&a[0]&&"select-one"==a[0].type&&a.find("option").selected(!1),this.selected=t}})},e.fn.ajaxSubmit.debug=!1})(jQuery);