(function(b){b.fn.ajaxSubmit=function(r){if(!this.length){a("ajaxSubmit: skipping submit process - no element selected");return this}if(typeof r=="function"){r={success:r}}var e=this.attr("action")||window.location.href;e=(e.match(/^([^#]+)/)||[])[1];e=e||"";r=b.extend({url:e,type:this.attr("method")||"GET"},r||{});var t={};this.trigger("form-pre-serialize",[this,r,t]);if(t.veto){a("ajaxSubmit: submit vetoed via form-pre-serialize trigger");return this}if(r.beforeSerialize&&r.beforeSerialize(this,r)===false){a("ajaxSubmit: submit aborted via beforeSerialize callback");return this}var l=this.formToArray(r.semantic);if(r.data){r.extraData=r.data;for(var f in r.data){if(r.data[f] instanceof Array){for(var g in r.data[f]){l.push({name:f,value:r.data[f][g]})}}else{l.push({name:f,value:r.data[f]})}}}if(r.beforeSubmit&&r.beforeSubmit(l,this,r)===false){a("ajaxSubmit: submit aborted via beforeSubmit callback");return this}this.trigger("form-submit-validate",[l,this,r,t]);if(t.veto){a("ajaxSubmit: submit vetoed via form-submit-validate trigger");return this}var d=b.param(l);if(r.type.toUpperCase()=="GET"){r.url+=(r.url.indexOf("?")>=0?"&":"?")+d;r.data=null}else{r.data=d}var s=this,i=[];if(r.resetForm){i.push(function(){s.resetForm()})}if(r.clearForm){i.push(function(){s.clearForm()})}if(!r.dataType&&r.target){var o=r.success||function(){};i.push(function(j){b(r.target).html(j).each(o,arguments)})}else{if(r.success){i.push(r.success)}}r.success=function(q,k){for(var n=0,j=i.length;n<j;n++){i[n].apply(r,[q,k,s])}};var c=b("input:file",this).fieldValue();var p=false;for(var h=0;h<c.length;h++){if(c[h]){p=true}}if(r.iframe||p){if(r.closeKeepAlive){b.get(r.closeKeepAlive,m)}else{m()}}else{b.ajax(r)}this.trigger("form-submit-notify",[this,r]);return this;function m(){var v=s[0];if(b(":input[name=submit]",v).length){alert('Error: Form elements must not be named "submit".');return}var q=b.extend({},b.ajaxSettings,r);var F=jQuery.extend(true,{},b.extend(true,{},b.ajaxSettings),q);var u="jqFormIO"+(new Date().getTime());var B=b('<iframe id="'+u+'" name="'+u+'" src="about:blank" />');var D=B[0];B.css({position:"absolute",top:"-1000px",left:"-1000px"});var E={aborted:0,responseText:null,responseXML:null,status:0,statusText:"n/a",getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){},abort:function(){this.aborted=1;B.attr("src","about:blank")}};var C=q.global;if(C&&!b.active++){b.event.trigger("ajaxStart")}if(C){b.event.trigger("ajaxSend",[E,q])}if(F.beforeSend&&F.beforeSend(E,F)===false){F.global&&jQuery.active--;return}if(E.aborted){return}var k=0;var x=0;var j=v.clk;if(j){var w=j.name;if(w&&!j.disabled){r.extraData=r.extraData||{};r.extraData[w]=j.value;if(j.type=="image"){r.extraData[name+".x"]=v.clk_x;r.extraData[name+".y"]=v.clk_y}}}setTimeout(function(){var I=s.attr("target"),G=s.attr("action");v.setAttribute("target",u);if(v.getAttribute("method")!="POST"){v.setAttribute("method","POST")}if(v.getAttribute("action")!=q.url){v.setAttribute("action",q.url)}if(!r.skipEncodingOverride){s.attr({encoding:"multipart/form-data",enctype:"multipart/form-data"})}if(q.timeout){setTimeout(function(){x=true;y()},q.timeout)}var H=[];try{if(r.extraData){for(var J in r.extraData){H.push(b('<input type="hidden" name="'+J+'" value="'+r.extraData[J]+'" />').appendTo(v)[0])}}B.appendTo("body");D.attachEvent?D.attachEvent("onload",y):D.addEventListener("load",y,false);v.submit()}finally{v.setAttribute("action",G);I?v.setAttribute("target",I):s.removeAttr("target");b(H).remove()}},10);var z=0;function y(){if(k++){return}D.detachEvent?D.detachEvent("onload",y):D.removeEventListener("load",y,false);var G=true;try{if(x){throw"timeout"}var H,J;J=D.contentWindow?D.contentWindow.document:D.contentDocument?D.contentDocument:D.document;if((J.body==null||J.body.innerHTML=="")&&!z){z=1;k--;setTimeout(y,100);return}E.responseText=J.body?J.body.innerHTML:null;E.responseXML=J.XMLDocument?J.XMLDocument:J;E.getResponseHeader=function(L){var K={"content-type":q.dataType};return K[L]};if(q.dataType=="json"||q.dataType=="script"){var n=J.getElementsByTagName("textarea")[0];E.responseText=n?n.value:E.responseText}else{if(q.dataType=="xml"&&!E.responseXML&&E.responseText!=null){E.responseXML=A(E.responseText)}}H=b.httpData(E,q.dataType)}catch(I){G=false;b.handleError(q,E,"error",I)}if(G){q.success(H,"success");if(C){b.event.trigger("ajaxSuccess",[E,q])}}if(C){b.event.trigger("ajaxComplete",[E,q])}if(C&&!--b.active){b.event.trigger("ajaxStop")}if(q.complete){q.complete(E,G?"success":"error")}setTimeout(function(){B.remove();E.responseXML=null},100)}function A(n,G){if(window.ActiveXObject){G=new ActiveXObject("Microsoft.XMLDOM");G.async="false";G.loadXML(n)}else{G=(new DOMParser()).parseFromString(n,"text/xml")}return(G&&G.documentElement&&G.documentElement.tagName!="parsererror")?G:null}}};b.fn.ajaxForm=function(c){return this.ajaxFormUnbind().bind("submit.form-plugin",function(){b(this).ajaxSubmit(c);return false}).each(function(){b(":submit,input:image",this).bind("click.form-plugin",function(f){var d=this.form;d.clk=this;if(this.type=="image"){if(f.offsetX!=undefined){d.clk_x=f.offsetX;d.clk_y=f.offsetY}else{if(typeof b.fn.offset=="function"){var g=b(this).offset();d.clk_x=f.pageX-g.left;d.clk_y=f.pageY-g.top}else{d.clk_x=f.pageX-this.offsetLeft;d.clk_y=f.pageY-this.offsetTop}}}setTimeout(function(){d.clk=d.clk_x=d.clk_y=null},10)})})};b.fn.ajaxFormUnbind=function(){this.unbind("submit.form-plugin");return this.each(function(){b(":submit,input:image",this).unbind("click.form-plugin")})};b.fn.formToArray=function(q){var p=[];if(this.length==0){return p}var d=this[0];var h=q?d.getElementsByTagName("*"):d.elements;if(!h){return p}for(var k=0,m=h.length;k<m;k++){var e=h[k];var f=e.name;if(!f){continue}if(q&&d.clk&&e.type=="image"){if(!e.disabled&&d.clk==e){p.push({name:f+".x",value:d.clk_x},{name:f+".y",value:d.clk_y})}continue}var r=b.fieldValue(e,true);if(r&&r.constructor==Array){for(var g=0,c=r.length;g<c;g++){p.push({name:f,value:r[g]})}}else{if(r!==null&&typeof r!="undefined"){p.push({name:f,value:r})}}}if(!q&&d.clk){var l=d.getElementsByTagName("input");for(var k=0,m=l.length;k<m;k++){var o=l[k];var f=o.name;if(f&&!o.disabled&&o.type=="image"&&d.clk==o){p.push({name:f+".x",value:d.clk_x},{name:f+".y",value:d.clk_y})}}}return p};b.fn.formSerialize=function(c){return b.param(this.formToArray(c))};b.fn.fieldSerialize=function(d){var c=[];this.each(function(){var h=this.name;if(!h){return}var f=b.fieldValue(this,d);if(f&&f.constructor==Array){for(var g=0,e=f.length;g<e;g++){c.push({name:h,value:f[g]})}}else{if(f!==null&&typeof f!="undefined"){c.push({name:this.name,value:f})}}});return b.param(c)};b.fn.fieldValue=function(h){for(var g=[],e=0,c=this.length;e<c;e++){var f=this[e];var d=b.fieldValue(f,h);if(d===null||typeof d=="undefined"||(d.constructor==Array&&!d.length)){continue}d.constructor==Array?b.merge(g,d):g.push(d)}return g};b.fieldValue=function(c,j){var e=c.name,p=c.type,q=c.tagName.toLowerCase();if(typeof j=="undefined"){j=true}if(j&&(!e||c.disabled||p=="reset"||p=="button"||(p=="checkbox"||p=="radio")&&!c.checked||(p=="submit"||p=="image")&&c.form&&c.form.clk!=c||q=="select"&&c.selectedIndex==-1)){return null}if(q=="select"){var k=c.selectedIndex;if(k<0){return null}var m=[],d=c.options;var g=(p=="select-one");var l=(g?k+1:d.length);for(var f=(g?k:0);f<l;f++){var h=d[f];if(h.selected){var o=h.value;if(!o){o=(h.attributes&&h.attributes.value&&!(h.attributes.value.specified))?h.text:h.value}if(g){return o}m.push(o)}}return m}return c.value};b.fn.clearForm=function(){return this.each(function(){b("input,select,textarea",this).clearFields()})};b.fn.clearFields=b.fn.clearInputs=function(){return this.each(function(){var d=this.type,c=this.tagName.toLowerCase();if(d=="text"||d=="password"||c=="textarea"){this.value=""}else{if(d=="checkbox"||d=="radio"){this.checked=false}else{if(c=="select"){this.selectedIndex=-1}}}})};b.fn.resetForm=function(){return this.each(function(){if(typeof this.reset=="function"||(typeof this.reset=="object"&&!this.reset.nodeType)){this.reset()}})};b.fn.enable=function(c){if(c==undefined){c=true}return this.each(function(){this.disabled=!c})};b.fn.selected=function(c){if(c==undefined){c=true}return this.each(function(){var d=this.type;if(d=="checkbox"||d=="radio"){this.checked=c}else{if(this.tagName.toLowerCase()=="option"){var e=b(this).parent("select");if(c&&e[0]&&e[0].type=="select-one"){e.find("option").selected(false)}this.selected=c}}})};function a(){if(b.fn.ajaxSubmit.debug&&window.console&&window.console.log){window.console.log("[jquery.form] "+Array.prototype.join.call(arguments,""))}}})(jQuery);