(function(B){B.fn.ajaxSubmit=function(L){if(!this.length){A("ajaxSubmit: skipping submit process - no element selected");return this}if(typeof L=="function"){L={success:L}}L=B.extend({url:this.attr("action")||window.location.toString(),type:this.attr("method")||"GET"},L||{});var N={};this.trigger("form-pre-serialize",[this,L,N]);if(N.veto){A("ajaxSubmit: submit vetoed via form-pre-serialize trigger");return this}var H=this.formToArray(L.semantic);if(L.data){L.extraData=L.data;for(var E in L.data){H.push({name:E,value:L.data[E]})}}if(L.beforeSubmit&&L.beforeSubmit(H,this,L)===false){A("ajaxSubmit: submit aborted via beforeSubmit callback");return this}this.trigger("form-submit-validate",[H,this,L,N]);if(N.veto){A("ajaxSubmit: submit vetoed via form-submit-validate trigger");return this}var D=B.param(H);if(L.type.toUpperCase()=="GET"){L.url+=(L.url.indexOf("?")>=0?"&":"?")+D;L.data=null}else{L.data=D}var M=this,G=[];if(L.resetForm){G.push(function(){M.resetForm()})}if(L.clearForm){G.push(function(){M.clearForm()})}if(!L.dataType&&L.target){var J=L.success||function(){};G.push(function(O){B(L.target).html(O).each(J,arguments)})}else{if(L.success){G.push(L.success)}}L.success=function(R,P){for(var Q=0,O=G.length;Q<O;Q++){G[Q](R,P,M)}};var C=B("input:file",this).fieldValue();var K=false;for(var F=0;F<C.length;F++){if(C[F]){K=true}}if(L.iframe||K){if(B.browser.safari&&L.closeKeepAlive){B.get(L.closeKeepAlive,I)}else{I()}}else{B.ajax(L)}this.trigger("form-submit-notify",[this,L]);return this;function I(){var R=M[0];var P=B.extend({},B.ajaxSettings,L);var Q="jqFormIO"+(new Date().getTime());var V=B('<iframe id="'+Q+'" name="'+Q+'" />');var X=V[0];var Y=B.browser.opera&&window.opera.version()<9;if(B.browser.msie||Y){X.src='javascript:false;document.write("");'}V.css({position:"absolute",top:"-1000px",left:"-1000px"});var Z={responseText:null,responseXML:null,status:0,statusText:"n/a",getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){}};var W=P.global;if(W&&!B.active++){B.event.trigger("ajaxStart")}if(W){B.event.trigger("ajaxSend",[Z,P])}var O=0;var S=0;setTimeout(function(){var d=M.attr("target"),b=M.attr("action");M.attr({target:Q,encoding:"multipart/form-data",enctype:"multipart/form-data",method:"POST",action:P.url});if(P.timeout){setTimeout(function(){S=true;T()},P.timeout)}var c=[];try{if(L.extraData){for(var e in L.extraData){c.push(B('<input type="hidden" name="'+e+'" value="'+L.extraData[e]+'" />').appendTo(R)[0])}}V.appendTo("body");X.attachEvent?X.attachEvent("onload",T):X.addEventListener("load",T,false);R.submit()}finally{M.attr("action",b);d?M.attr("target",d):M.removeAttr("target");B(c).remove()}},10);function T(){if(O++){return }X.detachEvent?X.detachEvent("onload",T):X.removeEventListener("load",T,false);var b=true;try{if(S){throw"timeout"}var c,f;f=X.contentWindow?X.contentWindow.document:X.contentDocument?X.contentDocument:X.document;Z.responseText=f.body?f.body.innerHTML:null;Z.responseXML=f.XMLDocument?f.XMLDocument:f;Z.getResponseHeader=function(g){var e={"content-type":P.dataType};return e[g]};if(P.dataType=="json"||P.dataType=="script"){var a=f.getElementsByTagName("textarea")[0];Z.responseText=a?a.value:Z.responseText}else{if(P.dataType=="xml"&&!Z.responseXML&&Z.responseText!=null){Z.responseXML=U(Z.responseText)}}c=B.httpData(Z,P.dataType)}catch(d){b=false;B.handleError(P,Z,"error",d)}if(b){P.success(c,"success");if(W){B.event.trigger("ajaxSuccess",[Z,P])}}if(W){B.event.trigger("ajaxComplete",[Z,P])}if(W&&!--B.active){B.event.trigger("ajaxStop")}if(P.complete){P.complete(Z,b?"success":"error")}setTimeout(function(){V.remove();Z.responseXML=null},100)}function U(a,b){if(window.ActiveXObject){b=new ActiveXObject("Microsoft.XMLDOM");b.async="false";b.loadXML(a)}else{b=(new DOMParser()).parseFromString(a,"text/xml")}return(b&&b.documentElement&&b.documentElement.tagName!="parsererror")?b: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(E){var D=this.form;D.clk=this;if(this.type=="image"){if(E.offsetX!=undefined){D.clk_x=E.offsetX;D.clk_y=E.offsetY}else{if(typeof B.fn.offset=="function"){var F=B(this).offset();D.clk_x=E.pageX-F.left;D.clk_y=E.pageY-F.top}else{D.clk_x=E.pageX-this.offsetLeft;D.clk_y=E.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(N){var M=[];if(this.length==0){return M}var D=this[0];var H=N?D.getElementsByTagName("*"):D.elements;if(!H){return M}for(var I=0,K=H.length;I<K;I++){var E=H[I];var F=E.name;if(!F){continue}if(N&&D.clk&&E.type=="image"){if(!E.disabled&&D.clk==E){M.push({name:F+".x",value:D.clk_x},{name:F+".y",value:D.clk_y})}continue}var O=B.fieldValue(E,true);if(O&&O.constructor==Array){for(var G=0,C=O.length;G<C;G++){M.push({name:F,value:O[G]})}}else{if(O!==null&&typeof O!="undefined"){M.push({name:F,value:O})}}}if(!N&&D.clk){var J=D.getElementsByTagName("input");for(var I=0,K=J.length;I<K;I++){var L=J[I];var F=L.name;if(F&&!L.disabled&&L.type=="image"&&D.clk==L){M.push({name:F+".x",value:D.clk_x},{name:F+".y",value:D.clk_y})}}}return M};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,I){var E=C.name,N=C.type,O=C.tagName.toLowerCase();if(typeof I=="undefined"){I=true}if(I&&(!E||C.disabled||N=="reset"||N=="button"||(N=="checkbox"||N=="radio")&&!C.checked||(N=="submit"||N=="image")&&C.form&&C.form.clk!=C||O=="select"&&C.selectedIndex==-1)){return null}if(O=="select"){var J=C.selectedIndex;if(J<0){return null}var L=[],D=C.options;var G=(N=="select-one");var K=(G?J+1:D.length);for(var F=(G?J:0);F<K;F++){var H=D[F];if(H.selected){var M=B.browser.msie&&!(H.attributes.value.specified)?H.text:H.value;if(G){return M}L.push(M)}}return L}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.select=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").select(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);