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