(function(n){function t(){if(n.fn.ajaxSubmit.debug){var t="[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)}}n.fn.ajaxSubmit=function(i){function w(){function b(){var f=r.attr("target"),s=r.attr("action"),t,i;e.setAttribute("target",v),e.getAttribute("method")!="POST"&&e.setAttribute("method","POST"),e.getAttribute("action")!=u.url&&e.setAttribute("action",u.url),u.skipEncodingOverride||r.attr({encoding:"multipart/form-data",enctype:"multipart/form-data"}),u.timeout&&setTimeout(function(){w=!0,y()},u.timeout),t=[];try{if(u.extraData)for(i in u.extraData)t.push(n('<input type="hidden" name="'+i+'" value="'+u.extraData[i]+'" />').appendTo(e)[0]);o.appendTo("body"),o.data("form-plugin-onload",y),e.submit()}finally{e.setAttribute("action",s),f?e.setAttribute("target",f):r.removeAttr("target"),n(t).remove()}}function y(){var r,a,i,e,c,l;if(!p){r=!0;try{if(w)throw"timeout";if(i=h.contentWindow?h.contentWindow.document:h.contentDocument?h.contentDocument:h.document,e=u.dataType=="xml"||i.XMLDocument||n.isXMLDoc(i),t("isXml="+e),!e&&(i.body==null||i.body.innerHTML=="")){if(--k){t("requeing onLoad callback, DOM not available"),setTimeout(y,250);return}t("Could not access iframe DOM after 100 tries.");return}t("response detected"),p=!0,f.responseText=i.body?i.body.innerHTML:null,f.responseXML=i.XMLDocument?i.XMLDocument:i,f.getResponseHeader=function(n){var t={"content-type":u.dataType};return t[n]},u.dataType=="json"||u.dataType=="script"?(c=i.getElementsByTagName("textarea")[0],c?f.responseText=c.value:(l=i.getElementsByTagName("pre")[0],l&&(f.responseText=l.innerHTML))):u.dataType!="xml"||f.responseXML||f.responseText==null||(f.responseXML=d(f.responseText)),a=n.httpData(f,u.dataType)}catch(v){t("error caught:",v),r=!1,f.error=v,n.handleError(u,f,"error",v)}r&&(u.success(a,"success"),s&&n.event.trigger("ajaxSuccess",[f,u])),s&&n.event.trigger("ajaxComplete",[f,u]),s&&!--n.active&&n.event.trigger("ajaxStop"),u.complete&&u.complete(f,r?"success":"error"),setTimeout(function(){o.removeData("form-plugin-onload"),o.remove(),f.responseXML=null},100)}}function d(n,t){return window.ActiveXObject?(t=new ActiveXObject("Microsoft.XMLDOM"),t.async="false",t.loadXML(n)):t=(new DOMParser).parseFromString(n,"text/xml"),t&&t.documentElement&&t.documentElement.tagName!="parsererror"?t:null}var e=r[0],f,s,l,k;if(n(":input[name=submit]",e).length){alert('Error: Form elements must not be named "submit".');return}var u=n.extend({},n.ajaxSettings,i),a=n.extend(!0,{},n.extend(!0,{},n.ajaxSettings),u),v="jqFormIO"+ +new Date,o=n('<iframe id="'+v+'" name="'+v+'" src="'+u.iframeSrc+'" onload="(jQuery(this).data(\'form-plugin-onload\'))()" />'),h=o[0];if(o.css({position:"absolute",top:"-1000px",left:"-1000px"}),f={aborted:0,responseText:null,responseXML:null,status:0,statusText:"n/a",getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){},abort:function(){this.aborted=1,o.attr("src",u.iframeSrc)}},s=u.global,s&&!n.active++&&n.event.trigger("ajaxStart"),s&&n.event.trigger("ajaxSend",[f,u]),a.beforeSend&&a.beforeSend(f,a)===!1){a.global&&n.active--;return}if(!f.aborted){var p=!1,w=0,c=e.clk;c&&(l=c.name,l&&!c.disabled&&(u.extraData=u.extraData||{},u.extraData[l]=c.value,c.type=="image"&&(u.extraData[l+".x"]=e.clk_x,u.extraData[l+".y"]=e.clk_y))),u.forceSync?b():setTimeout(b,10),k=100}}var u,s,o,f,v,l,r,e,y,h,a,c,p;if(!this.length)return t("ajaxSubmit: skipping submit process - no element selected"),this;if(typeof i=="function"&&(i={success:i}),u=n.trim(this.attr("action")),u&&(u=(u.match(/^([^#]+)/)||[])[1]),u=u||window.location.href||"",i=n.extend({url:u,type:this.attr("method")||"GET",iframeSrc:/^https/i.test(window.location.href||"")?"javascript:false":"about:blank"},i||{}),s={},this.trigger("form-pre-serialize",[this,i,s]),s.veto)return t("ajaxSubmit: submit vetoed via form-pre-serialize trigger"),this;if(i.beforeSerialize&&i.beforeSerialize(this,i)===!1)return t("ajaxSubmit: submit aborted via beforeSerialize callback"),this;if(o=this.formToArray(i.semantic),i.data){i.extraData=i.data;for(f in i.data)if(i.data[f]instanceof Array)for(v in i.data[f])o.push({name:f,value:i.data[f][v]});else o.push({name:f,value:i.data[f]})}if(i.beforeSubmit&&i.beforeSubmit(o,this,i)===!1)return t("ajaxSubmit: submit aborted via beforeSubmit callback"),this;if(this.trigger("form-submit-validate",[o,this,i,s]),s.veto)return t("ajaxSubmit: submit vetoed via form-submit-validate trigger"),this;for(l=n.param(o),i.type.toUpperCase()=="GET"?(i.url+=(i.url.indexOf("?")>=0?"&":"?")+l,i.data=null):i.data=l,r=this,e=[],i.resetForm&&e.push(function(){r.resetForm()}),i.clearForm&&e.push(function(){r.clearForm()}),!i.dataType&&i.target?(y=i.success||function(){},e.push(function(t){var r=i.replaceTarget?"replaceWith":"html";n(i.target)[r](t).each(y,arguments)})):i.success&&e.push(i.success),i.success=function(n,t,u){for(var f=0,o=e.length;f<o;f++)e[f].apply(i,[n,t,u||r,r])},h=n("input:file",this).fieldValue(),a=!1,c=0;c<h.length;c++)h[c]&&(a=!0);return p=!1,h.length&&i.iframe!==!1||i.iframe||a||p?i.closeKeepAlive?n.get(i.closeKeepAlive,w):w():n.ajax(i),this.trigger("form-submit-notify",[this,i]),this},n.fn.ajaxForm=function(t){return this.ajaxFormUnbind().bind("submit.form-plugin",function(i){i.preventDefault(),n(this).ajaxSubmit(t)}).bind("click.form-plugin",function(t){var r=t.target,u=n(r),f,i,e;if(!u.is(":submit,input:image")){if(f=u.closest(":submit"),f.length==0)return;r=f[0]}i=this,i.clk=r,r.type=="image"&&(t.offsetX!=undefined?(i.clk_x=t.offsetX,i.clk_y=t.offsetY):typeof n.fn.offset=="function"?(e=u.offset(),i.clk_x=t.pageX-e.left,i.clk_y=t.pageY-e.top):(i.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)})},n.fn.ajaxFormUnbind=function(){return this.unbind("submit.form-plugin click.form-plugin")},n.fn.formToArray=function(t){var u=[],i,o,s,l,e,r,f,h,a;if(this.length==0||(i=this[0],o=t?i.getElementsByTagName("*"):i.elements,!o))return u;for(s=0,l=o.length;s<l;s++)if(e=o[s],r=e.name,r){if(t&&i.clk&&e.type=="image"){e.disabled||i.clk!=e||(u.push({name:r,value:n(e).val()}),u.push({name:r+".x",value:i.clk_x},{name:r+".y",value:i.clk_y}));continue}if(f=n.fieldValue(e,!0),f&&f.constructor==Array)for(h=0,a=f.length;h<a;h++)u.push({name:r,value:f[h]});else f!==null&&typeof f!="undefined"&&u.push({name:r,value:f})}if(!t&&i.clk){var v=n(i.clk),c=v[0],r=c.name;r&&!c.disabled&&c.type=="image"&&(u.push({name:r,value:v.val()}),u.push({name:r+".x",value:i.clk_x},{name:r+".y",value:i.clk_y}))}return u},n.fn.formSerialize=function(t){return n.param(this.formToArray(t))},n.fn.fieldSerialize=function(t){var i=[];return this.each(function(){var f=this.name,r,u,e;if(f)if(r=n.fieldValue(this,t),r&&r.constructor==Array)for(u=0,e=r.length;u<e;u++)i.push({name:f,value:r[u]});else r!==null&&typeof r!="undefined"&&i.push({name:this.name,value:r})}),n.param(i)},n.fn.fieldValue=function(t){for(var f,i,r=[],u=0,e=this.length;u<e;u++)(f=this[u],i=n.fieldValue(f,t),i!==null&&typeof i!="undefined"&&(i.constructor!=Array||i.length))&&(i.constructor==Array?n.merge(r,i):r.push(i));return r},n.fieldValue=function(n,t){var l=n.name,r=n.type,s=n.tagName.toLowerCase(),f,e,i,u;if(typeof t=="undefined"&&(t=!0),t&&(!l||n.disabled||r=="reset"||r=="button"||(r=="checkbox"||r=="radio")&&!n.checked||(r=="submit"||r=="image")&&n.form&&n.form.clk!=n||s=="select"&&n.selectedIndex==-1))return null;if(s=="select"){if(f=n.selectedIndex,f<0)return null;var h=[],c=n.options,o=r=="select-one",a=o?f+1:c.length;for(e=o?f:0;e<a;e++)if(i=c[e],i.selected){if(u=i.value,u||(u=i.attributes&&i.attributes.value&&!i.attributes.value.specified?i.text:i.value),o)return u;h.push(u)}return h}return n.value},n.fn.clearForm=function(){return this.each(function(){n("input,select,textarea",this).clearFields()})},n.fn.clearFields=n.fn.clearInputs=function(){return this.each(function(){var n=this.type,t=this.tagName.toLowerCase();n=="text"||n=="password"||t=="textarea"?this.value="":n=="checkbox"||n=="radio"?this.checked=!1:t=="select"&&(this.selectedIndex=-1)})},n.fn.resetForm=function(){return this.each(function(){typeof this.reset!="function"&&(typeof this.reset!="object"||this.reset.nodeType)||this.reset()})},n.fn.enable=function(n){return n==undefined&&(n=!0),this.each(function(){this.disabled=!n})},n.fn.selected=function(t){return t==undefined&&(t=!0),this.each(function(){var r=this.type,i;r=="checkbox"||r=="radio"?this.checked=t:this.tagName.toLowerCase()=="option"&&(i=n(this).parent("select"),t&&i[0]&&i[0].type=="select-one"&&i.find("option").selected(!1),this.selected=t)})}})(jQuery)