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