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