(function(b){function o(a){var c=a.data;a.isDefaultPrevented()||(a.preventDefault(),b(this).ajaxSubmit(c))}function s(a){var c=a.target,g=b(c);if(!g.is(":submit,input:image")){c=g.closest(":submit");if(0==c.length)return;c=c[0]}var d=this;d.clk=c;"image"==c.type&&(void 0!=a.offsetX?(d.clk_x=a.offsetX,d.clk_y=a.offsetY):"function"==typeof b.fn.offset?(g=g.offset(),d.clk_x=a.pageX-g.left,d.clk_y=a.pageY-g.top):(d.clk_x=a.pageX-c.offsetLeft,d.clk_y=a.pageY-c.offsetTop));setTimeout(function(){d.clk=d.clk_x=
d.clk_y=null},100)}function p(){if(b.fn.ajaxSubmit.debug){var a="[jquery.form] "+Array.prototype.join.call(arguments,"");window.console&&window.console.log?window.console.log(a):window.opera&&window.opera.postError&&window.opera.postError(a)}}b.fn.ajaxSubmit=function(a){function c(d){for(var c=new FormData,f=0;f<d.length;f++)"file"!=d[f].type&&c.append(d[f].name,d[f].value);k.find("input:file:enabled").each(function(){var a=b(this).attr("name"),e=this.files;if(a)for(var d=0;d<e.length;d++)c.append(a,
e[d])});if(a.extraData)for(var g in a.extraData)c.append(g,a.extraData[g]);a.data=null;d=b.extend(!0,{},b.ajaxSettings,a,{contentType:!1,processData:!1,cache:!1,type:"POST"});d.data=null;var j=d.beforeSend;d.beforeSend=function(b,e){e.data=c;b.upload&&(b.upload.onprogress=function(a){e.progress(a.position,a.total)});j&&j.call(e,b,a)};b.ajax(d)}function g(c){function f(){function a(){try{var b=(m.contentWindow?m.contentWindow.document:m.contentDocument?m.contentDocument:m.document).readyState;p("state = "+
b);"uninitialized"==b.toLowerCase()&&setTimeout(a,50)}catch(c){p("Server abort: ",c," (",c.name,")"),g(v),t&&clearTimeout(t),t=void 0}}var c=k.attr("target"),i=k.attr("action");j.setAttribute("target",o);d||j.setAttribute("method","POST");i!=e.url&&j.setAttribute("action",e.url);!e.skipEncodingOverride&&(!d||/post/i.test(d))&&k.attr({encoding:"multipart/form-data",enctype:"multipart/form-data"});e.timeout&&(t=setTimeout(function(){s=!0;g(x)},e.timeout));var h=[];try{if(e.extraData)for(var l in e.extraData)h.push(b('<input type="hidden" name="'+
l+'">').attr("value",e.extraData[l]).appendTo(j)[0]);e.iframeTarget||(r.appendTo("body"),m.attachEvent?m.attachEvent("onload",g):m.addEventListener("load",g,!1));setTimeout(a,15);j.submit()}finally{j.setAttribute("action",i),c?j.setAttribute("target",c):k.removeAttr("target"),b(h).remove()}}function g(a){if(!i.aborted&&!y){try{q=m.contentWindow?m.contentWindow.document:m.contentDocument?m.contentDocument:m.document}catch(c){p("cannot access response document: ",c),a=v}if(a===x&&i)i.abort("timeout");
else if(a==v&&i)i.abort("server abort");else if(q&&q.location.href!=e.iframeSrc||s){m.detachEvent?m.detachEvent("onload",g):m.removeEventListener("load",g,!1);var a="success",d;try{if(s)throw"timeout";var f="xml"==e.dataType||q.XMLDocument||b.isXMLDoc(q);p("isXml="+f);if(!f&&window.opera&&(null==q.body||""==q.body.innerHTML)&&--B){p("requeing onLoad callback, DOM not available");setTimeout(g,250);return}var h=q.body?q.body:q.documentElement;i.responseText=h?h.innerHTML:null;i.responseXML=q.XMLDocument?
q.XMLDocument:q;f&&(e.dataType="xml");i.getResponseHeader=function(a){return{"content-type":e.dataType}[a]};h&&(i.status=Number(h.getAttribute("status"))||i.status,i.statusText=h.getAttribute("statusText")||i.statusText);var j=(e.dataType||"").toLowerCase(),k=/(json|script|text)/.test(j);if(k||e.textarea){var l=q.getElementsByTagName("textarea")[0];if(l)i.responseText=l.value,i.status=Number(l.getAttribute("status"))||i.status,i.statusText=l.getAttribute("statusText")||i.statusText;else if(k){var o=
q.getElementsByTagName("pre")[0],u=q.getElementsByTagName("body")[0];o?i.responseText=o.textContent?o.textContent:o.innerText:u&&(i.responseText=u.textContent?u.textContent:u.innerText)}}else"xml"==j&&!i.responseXML&&null!=i.responseText&&(i.responseXML=C(i.responseText));try{z=D(i,j,e)}catch(A){a="parsererror",i.error=d=A||a}}catch(w){p("error caught: ",w),a="error",i.error=d=w||a}i.aborted&&(p("upload aborted"),a=null);i.status&&(a=200<=i.status&&300>i.status||304===i.status?"success":"error");
"success"===a?(e.success&&e.success.call(e.context,z,"success",i),n&&b.event.trigger("ajaxSuccess",[i,e])):a&&(void 0==d&&(d=i.statusText),e.error&&e.error.call(e.context,i,a,d),n&&b.event.trigger("ajaxError",[i,e,d]));n&&b.event.trigger("ajaxComplete",[i,e]);n&&!--b.active&&b.event.trigger("ajaxStop");e.complete&&e.complete.call(e.context,i,a);y=!0;e.timeout&&clearTimeout(t);setTimeout(function(){e.iframeTarget||r.remove();i.responseXML=null},100)}}}var j=k[0],h,l,e,n,o,r,m,i,s,t;h=!!b.fn.prop;if(c)if(h)for(l=
0;l<c.length;l++)h=b(j[c[l].name]),h.prop("disabled",!1);else for(l=0;l<c.length;l++)h=b(j[c[l].name]),h.removeAttr("disabled");if(b(":input[name=submit],:input[id=submit]",j).length)alert('Error: Form elements must not have name or id of "submit".');else if(e=b.extend(!0,{},b.ajaxSettings,a),e.context=e.context||e,o="jqFormIO"+(new Date).getTime(),e.iframeTarget?(r=b(e.iframeTarget),h=r.attr("name"),null==h?r.attr("name",o):o=h):(r=b('<iframe name="'+o+'" src="'+e.iframeSrc+'" />'),r.css({position:"absolute",
top:"-1000px",left:"-1000px"})),m=r[0],i={aborted:0,responseText:null,responseXML:null,status:0,statusText:"n/a",getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){},abort:function(a){var c="timeout"===a?"timeout":"aborted";p("aborting upload... "+c);this.aborted=1;r.attr("src",e.iframeSrc);i.error=c;e.error&&e.error.call(e.context,i,c,a);n&&b.event.trigger("ajaxError",[i,e,c]);e.complete&&e.complete.call(e.context,i,c)}},(n=e.global)&&!b.active++&&b.event.trigger("ajaxStart"),
n&&b.event.trigger("ajaxSend",[i,e]),e.beforeSend&&!1===e.beforeSend.call(e.context,i,e))e.global&&b.active--;else if(!i.aborted){if(c=j.clk)if((h=c.name)&&!c.disabled)e.extraData=e.extraData||{},e.extraData[h]=c.value,"image"==c.type&&(e.extraData[h+".x"]=j.clk_x,e.extraData[h+".y"]=j.clk_y);var x=1,v=2,c=b("meta[name=csrf-token]").attr("content");if((h=b("meta[name=csrf-param]").attr("content"))&&c)e.extraData=e.extraData||{},e.extraData[h]=c;e.forceSync?f():setTimeout(f,10);var z,q,B=50,y,C=b.parseXML||
function(a,b){window.ActiveXObject?(b=new ActiveXObject("Microsoft.XMLDOM"),b.async="false",b.loadXML(a)):b=(new DOMParser).parseFromString(a,"text/xml");return b&&b.documentElement&&"parsererror"!=b.documentElement.nodeName?b:null},E=b.parseJSON||function(a){return window.eval("("+a+")")},D=function(a,c,d){var e=a.getResponseHeader("content-type")||"",f="xml"===c||!c&&0<=e.indexOf("xml"),a=f?a.responseXML:a.responseText;f&&"parsererror"===a.documentElement.nodeName&&b.error&&b.error("parsererror");
d&&d.dataFilter&&(a=d.dataFilter(a,c));"string"===typeof a&&("json"===c||!c&&0<=e.indexOf("json")?a=E(a):("script"===c||!c&&0<=e.indexOf("javascript"))&&b.globalEval(a));return a}}}if(!this.length)return p("ajaxSubmit: skipping submit process - no element selected"),this;var d,f,k=this;"function"==typeof a&&(a={success:a});d=this.attr("method");f=this.attr("action");(f=(f="string"===typeof f?b.trim(f):"")||window.location.href||"")&&(f=(f.match(/^([^#]+)/)||[])[1]);a=b.extend(!0,{url:f,success:b.ajaxSettings.success,
type:d||"GET",iframeSrc:/^https/i.test(window.location.href||"")?"javascript:false":"about:blank"},a);f={};this.trigger("form-pre-serialize",[this,a,f]);if(f.veto)return p("ajaxSubmit: submit vetoed via form-pre-serialize trigger"),this;if(a.beforeSerialize&&!1===a.beforeSerialize(this,a))return p("ajaxSubmit: submit aborted via beforeSerialize callback"),this;var j=a.traditional;void 0===j&&(j=b.ajaxSettings.traditional);var h,l=this.formToArray(a.semantic);a.data&&(a.extraData=a.data,h=b.param(a.data,
j));if(a.beforeSubmit&&!1===a.beforeSubmit(l,this,a))return p("ajaxSubmit: submit aborted via beforeSubmit callback"),this;this.trigger("form-submit-validate",[l,this,a,f]);if(f.veto)return p("ajaxSubmit: submit vetoed via form-submit-validate trigger"),this;f=b.param(l,j);h&&(f=f?f+"&"+h:h);"GET"==a.type.toUpperCase()?(a.url+=(0<=a.url.indexOf("?")?"&":"?")+f,a.data=null):a.data=f;var n=[];a.resetForm&&n.push(function(){k.resetForm()});a.clearForm&&n.push(function(){k.clearForm(a.includeHidden)});
if(!a.dataType&&a.target){var o=a.success||function(){};n.push(function(c){var d=a.replaceTarget?"replaceWith":"html";b(a.target)[d](c).each(o,arguments)})}else a.success&&n.push(a.success);a.success=function(b,c,d){for(var f=a.context||a,g=0,h=n.length;g<h;g++)n[g].apply(f,[b,c,d||k,k])};j=b("input:file:enabled[value]",this);h=0<j.length;f="multipart/form-data"==k.attr("enctype")||"multipart/form-data"==k.attr("encoding");j=!(!h||!j.get(0).files||!window.FormData);p("fileAPI :"+j);!1!==a.iframe&&
(a.iframe||(h||f)&&!j)?a.closeKeepAlive?b.get(a.closeKeepAlive,function(){g(l)}):g(l):(h||f)&&j?(a.progress=a.progress||b.noop,c(l)):b.ajax(a);this.trigger("form-submit-notify",[this,a]);return this};b.fn.ajaxForm=function(a){a=a||{};a.delegation=a.delegation&&b.isFunction(b.fn.on);if(!a.delegation&&0===this.length){var c=this.selector,g=this.context;if(!b.isReady&&c)return p("DOM not ready, queuing ajaxForm"),b(function(){b(c,g).ajaxForm(a)}),this;p("terminating; zero elements found by selector"+
(b.isReady?"":" (DOM not ready)"));return this}return a.delegation?(b(document).off("submit.form-plugin",this.selector,o).off("click.form-plugin",this.selector,s).on("submit.form-plugin",this.selector,a,o).on("click.form-plugin",this.selector,a,s),this):this.ajaxFormUnbind().bind("submit.form-plugin",a,o).bind("click.form-plugin",a,s)};b.fn.ajaxFormUnbind=function(){return this.unbind("submit.form-plugin click.form-plugin")};b.fn.formToArray=function(a){var c=[];if(0===this.length)return c;var g=
this[0],d=a?g.getElementsByTagName("*"):g.elements;if(!d)return c;var f,k,j,h,l,n;for(f=0,l=d.length;f<l;f++)if(k=d[f],j=k.name)if(a&&g.clk&&"image"==k.type)!k.disabled&&g.clk==k&&(c.push({name:j,value:b(k).val(),type:k.type}),c.push({name:j+".x",value:g.clk_x},{name:j+".y",value:g.clk_y}));else if((h=b.fieldValue(k,!0))&&h.constructor==Array)for(k=0,n=h.length;k<n;k++)c.push({name:j,value:h[k]});else null!==h&&"undefined"!=typeof h&&c.push({name:j,value:h,type:k.type});if(!a&&g.clk&&(a=b(g.clk),
d=a[0],(j=d.name)&&!d.disabled&&"image"==d.type))c.push({name:j,value:a.val()}),c.push({name:j+".x",value:g.clk_x},{name:j+".y",value:g.clk_y});return c};b.fn.formSerialize=function(a){return b.param(this.formToArray(a))};b.fn.fieldSerialize=function(a){var c=[];this.each(function(){var g=this.name;if(g){var d=b.fieldValue(this,a);if(d&&d.constructor==Array)for(var f=0,k=d.length;f<k;f++)c.push({name:g,value:d[f]});else null!==d&&"undefined"!=typeof d&&c.push({name:this.name,value:d})}});return b.param(c)};
b.fn.fieldValue=function(a){for(var c=[],g=0,d=this.length;g<d;g++){var f=b.fieldValue(this[g],a);null===f||"undefined"==typeof f||f.constructor==Array&&!f.length||(f.constructor==Array?b.merge(c,f):c.push(f))}return c};b.fieldValue=function(a,c){var g=a.name,d=a.type,f=a.tagName.toLowerCase();void 0===c&&(c=!0);if(c&&(!g||a.disabled||"reset"==d||"button"==d||("checkbox"==d||"radio"==d)&&!a.checked||("submit"==d||"image"==d)&&a.form&&a.form.clk!=a||"select"==f&&-1==a.selectedIndex))return null;if("select"==
f){var k=a.selectedIndex;if(0>k)return null;for(var g=[],f=a.options,j=(d="select-one"==d)?k+1:f.length,k=d?k:0;k<j;k++){var h=f[k];if(h.selected){var l=h.value;l||(l=h.attributes&&h.attributes.value&&!h.attributes.value.specified?h.text:h.value);if(d)return l;g.push(l)}}return g}return b(a).val()};b.fn.clearForm=function(a){return this.each(function(){b("input,select,textarea",this).clearFields(a)})};b.fn.clearFields=b.fn.clearInputs=function(a){var b=/^(?:color|date|datetime|email|month|number|password|range|search|tel|text|time|url|week)$/i;
return this.each(function(){var g=this.type,d=this.tagName.toLowerCase();b.test(g)||"textarea"==d||a&&/hidden/.test(g)?this.value="":"checkbox"==g||"radio"==g?this.checked=!1:"select"==d&&(this.selectedIndex=-1)})};b.fn.resetForm=function(){return this.each(function(){("function"==typeof this.reset||"object"==typeof this.reset&&!this.reset.nodeType)&&this.reset()})};b.fn.enable=function(a){void 0===a&&(a=!0);return this.each(function(){this.disabled=!a})};b.fn.selected=function(a){void 0===a&&(a=
!0);return this.each(function(){var c=this.type;"checkbox"==c||"radio"==c?this.checked=a:"option"==this.tagName.toLowerCase()&&(c=b(this).parent("select"),a&&c[0]&&"select-one"==c[0].type&&c.find("option").selected(!1),this.selected=a)})};b.fn.ajaxSubmit.debug=!1})(jQuery);
