(function(C){C.fn.ajaxSubmit=function(P){if(!this.length){B("ajaxSubmit: skipping submit process - no element selected");return this}if(typeof P=="function"){P={success:P}}var F=C.trim(this.attr("action"));if(F){F=(F.match(/^([^#]+)/)||[])[1]}F=F||window.location.href||"";P=C.extend({url:F,type:this.attr("method")||"GET"},P||{});var R={};this.trigger("form-pre-serialize",[this,P,R]);if(R.veto){B("ajaxSubmit: submit vetoed via form-pre-serialize trigger");return this}if(P.beforeSerialize&&P.beforeSerialize(this,P)===false){B("ajaxSubmit: submit aborted via beforeSerialize callback");return this}var L=this.formToArray(P.semantic);if(P.data){P.extraData=P.data;for(var G in P.data){if(P.data[G] instanceof Array){for(var H in P.data[G]){L.push({name:G,value:P.data[G][H]})}}else{L.push({name:G,value:P.data[G]})}}}if(P.beforeSubmit&&P.beforeSubmit(L,this,P)===false){B("ajaxSubmit: submit aborted via beforeSubmit callback");return this}this.trigger("form-submit-validate",[L,this,P,R]);if(R.veto){B("ajaxSubmit: submit vetoed via form-submit-validate trigger");return this}var E=C.param(L);if(P.type.toUpperCase()=="GET"){P.url+=(P.url.indexOf("?")>=0?"&":"?")+E;P.data=null}else{P.data=E}var Q=this,K=[];if(P.resetForm){K.push(function(){Q.resetForm()})}if(P.clearForm){K.push(function(){Q.clearForm()})}if(!P.dataType&&P.target){var N=P.success||function(){};K.push(function(S){C(P.target).html(S).each(N,arguments)})}else{if(P.success){K.push(P.success)}}P.success=function(V,T){for(var U=0,S=K.length;U<S;U++){K[U].apply(P,[V,T,Q])}};var D=C("input:file",this).fieldValue();var O=false;for(var J=0;J<D.length;J++){if(D[J]){O=true}}var I=false;if(P.iframe||O||I){if(P.closeKeepAlive){C.get(P.closeKeepAlive,M)}else{M()}}else{C.ajax(P)}this.trigger("form-submit-notify",[this,P]);return this;function M(){var W=Q[0];if(C(":input[name=submit]",W).length){alert('Error: Form elements must not be named "submit".');return }var U=C.extend({},C.ajaxSettings,P);var h=C.extend(true,{},C.extend(true,{},C.ajaxSettings),U);var V="jqFormIO"+(new Date().getTime());var c=C('<iframe id="'+V+'" name="'+V+'" src="about:blank" />');var e=c[0];c.css({position:"absolute",top:"-1000px",left:"-1000px"});var f={aborted:0,responseText:null,responseXML:null,status:0,statusText:"n/a",getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){},abort:function(){this.aborted=1;c.attr("src","about:blank")}};var d=U.global;if(d&&!C.active++){C.event.trigger("ajaxStart")}if(d){C.event.trigger("ajaxSend",[f,U])}if(h.beforeSend&&h.beforeSend(f,h)===false){h.global&&C.active--;return }if(f.aborted){return }var T=0;var Y=0;var S=W.clk;if(S){var X=S.name;if(X&&!S.disabled){P.extraData=P.extraData||{};P.extraData[X]=S.value;if(S.type=="image"){P.extraData[name+".x"]=W.clk_x;P.extraData[name+".y"]=W.clk_y}}}setTimeout(function(){var j=Q.attr("target"),g=Q.attr("action");W.setAttribute("target",V);if(W.getAttribute("method")!="POST"){W.setAttribute("method","POST")}if(W.getAttribute("action")!=U.url){W.setAttribute("action",U.url)}if(!P.skipEncodingOverride){Q.attr({encoding:"multipart/form-data",enctype:"multipart/form-data"})}if(U.timeout){setTimeout(function(){Y=true;Z()},U.timeout)}var i=[];try{if(P.extraData){for(var k in P.extraData){i.push(C('<input type="hidden" name="'+k+'" value="'+P.extraData[k]+'" />').appendTo(W)[0])}}c.appendTo("body");e.attachEvent?e.attachEvent("onload",Z):e.addEventListener("load",Z,false);W.submit()}finally{W.setAttribute("action",g);j?W.setAttribute("target",j):Q.removeAttr("target");C(i).remove()}},10);var a=0;function Z(){if(T++){return }e.detachEvent?e.detachEvent("onload",Z):e.removeEventListener("load",Z,false);var i=true;try{if(Y){throw"timeout"}var j,l;l=e.contentWindow?e.contentWindow.document:e.contentDocument?e.contentDocument:e.document;if((l.body==null||l.body.innerHTML=="")&&!a){a=1;T--;setTimeout(Z,100);return }f.responseText=l.body?l.body.innerHTML:null;f.responseXML=l.XMLDocument?l.XMLDocument:l;f.getResponseHeader=function(n){var m={"content-type":U.dataType};return m[n]};if(U.dataType=="json"||U.dataType=="script"){var g=l.getElementsByTagName("textarea")[0];f.responseText=g?g.value:f.responseText}else{if(U.dataType=="xml"&&!f.responseXML&&f.responseText!=null){f.responseXML=b(f.responseText)}}j=C.httpData(f,U.dataType)}catch(k){i=false;C.handleError(U,f,"error",k)}if(i){U.success(j,"success");if(d){C.event.trigger("ajaxSuccess",[f,U])}}if(d){C.event.trigger("ajaxComplete",[f,U])}if(d&&!--C.active){C.event.trigger("ajaxStop")}if(U.complete){U.complete(f,i?"success":"error")}setTimeout(function(){c.remove();f.responseXML=null},100)}function b(g,i){if(window.ActiveXObject){i=new ActiveXObject("Microsoft.XMLDOM");i.async="false";i.loadXML(g)}else{i=(new DOMParser()).parseFromString(g,"text/xml")}return(i&&i.documentElement&&i.documentElement.tagName!="parsererror")?i:null}}};C.fn.ajaxForm=function(D){return this.ajaxFormUnbind().bind("submit.form-plugin",function(){C(this).ajaxSubmit(D);return false}).each(function(){C(":submit,input:image",this).bind("click.form-plugin",function(F){var E=this.form;E.clk=this;if(this.type=="image"){if(F.offsetX!=undefined){E.clk_x=F.offsetX;E.clk_y=F.offsetY}else{if(typeof C.fn.offset=="function"){var G=C(this).offset();E.clk_x=F.pageX-G.left;E.clk_y=F.pageY-G.top}else{E.clk_x=F.pageX-this.offsetLeft;E.clk_y=F.pageY-this.offsetTop}}}setTimeout(function(){E.clk=E.clk_x=E.clk_y=null},10)})})};C.fn.ajaxFormUnbind=function(){this.unbind("submit.form-plugin");return this.each(function(){C(":submit,input:image",this).unbind("click.form-plugin")})};C.fn.formToArray=function(O){var N=[];if(this.length==0){return N}var E=this[0];var I=O?E.getElementsByTagName("*"):E.elements;if(!I){return N}for(var J=0,L=I.length;J<L;J++){var F=I[J];var G=F.name;if(!G){continue}if(O&&E.clk&&F.type=="image"){if(!F.disabled&&E.clk==F){N.push({name:G,value:C(F).val()});N.push({name:G+".x",value:E.clk_x},{name:G+".y",value:E.clk_y})}continue}var P=C.fieldValue(F,true);if(P&&P.constructor==Array){for(var H=0,D=P.length;H<D;H++){N.push({name:G,value:P[H]})}}else{if(P!==null&&typeof P!="undefined"){N.push({name:G,value:P})}}}if(!O&&E.clk){var K=C(E.clk),M=K[0],G=M.name;if(G&&!M.disabled&&M.type=="image"){N.push({name:G,value:K.val()});N.push({name:G+".x",value:E.clk_x},{name:G+".y",value:E.clk_y})}}return N};function A(H){var G={},E=[];var D=(H+"").toString();var F=function(K,J,L){var I=[];I=L.split(K);return I.join(J)};G["'"]="%27";G["("]="%28";G[")"]="%29";G["*"]="%2A";G["~"]="%7E";G["!"]="%21";G["%20"]="+";G["\u20AC"]="%80";G["\u0081"]="%81";G["\u201A"]="%82";G["\u0192"]="%83";G["\u201E"]="%84";G["\u2026"]="%85";G["\u2020"]="%86";G["\u2021"]="%87";G["\u02C6"]="%88";G["\u2030"]="%89";G["\u0160"]="%8A";G["\u2039"]="%8B";G["\u0152"]="%8C";G["\u008D"]="%8D";G["\u017D"]="%8E";G["\u008F"]="%8F";G["\u0090"]="%90";G["\u2018"]="%91";G["\u2019"]="%92";G["\u201C"]="%93";G["\u201D"]="%94";G["\u2022"]="%95";G["\u2013"]="%96";G["\u2014"]="%97";G["\u02DC"]="%98";G["\u2122"]="%99";G["\u0161"]="%9A";G["\u203A"]="%9B";G["\u0153"]="%9C";G["\u009D"]="%9D";G["\u017E"]="%9E";G["\u0178"]="%9F";D=encodeURIComponent(D);for(search in G){replace=G[search];D=F(search,replace,D)}return D.replace(/(\%([a-z0-9]{2}))/g,function(K,J,I){return"%"+I.toUpperCase()});return D}C.fn.formSerialize=function(D){return C.param(this.formToArray(D))};C.fn.fieldSerialize=function(E){var D=[];this.each(function(){var I=this.name;if(!I){return }var G=C.fieldValue(this,E);if(G&&G.constructor==Array){for(var H=0,F=G.length;H<F;H++){D.push({name:I,value:G[H]})}}else{if(G!==null&&typeof G!="undefined"){D.push({name:this.name,value:G})}}});return C.param(D)};C.fn.fieldValue=function(I){for(var H=[],F=0,D=this.length;F<D;F++){var G=this[F];var E=C.fieldValue(G,I);if(E===null||typeof E=="undefined"||(E.constructor==Array&&!E.length)){continue}E.constructor==Array?C.merge(H,E):H.push(E)}return H};C.fieldValue=function(D,J){var F=D.name,O=D.type,P=D.tagName.toLowerCase();if(typeof J=="undefined"){J=true}if(J&&(!F||D.disabled||O=="reset"||O=="button"||(O=="checkbox"||O=="radio")&&!D.checked||(O=="submit"||O=="image")&&D.form&&D.form.clk!=D||P=="select"&&D.selectedIndex==-1)){return null}if(P=="select"){var K=D.selectedIndex;if(K<0){return null}var M=[],E=D.options;var H=(O=="select-one");var L=(H?K+1:E.length);for(var G=(H?K:0);G<L;G++){var I=E[G];if(I.selected){var N=I.value;if(!N){N=(I.attributes&&I.attributes.value&&!(I.attributes.value.specified))?I.text:I.value}if(H){return N}M.push(N)}}return M}return D.value};C.fn.clearForm=function(){return this.each(function(){C("input,select,textarea",this).clearFields()})};C.fn.clearFields=C.fn.clearInputs=function(){return this.each(function(){var E=this.type,D=this.tagName.toLowerCase();if(E=="text"||E=="password"||D=="textarea"){this.value=""}else{if(E=="checkbox"||E=="radio"){this.checked=false}else{if(D=="select"){this.selectedIndex=-1}}}})};C.fn.resetForm=function(){return this.each(function(){if(typeof this.reset=="function"||(typeof this.reset=="object"&&!this.reset.nodeType)){this.reset()}})};C.fn.enable=function(D){if(D==undefined){D=true}return this.each(function(){this.disabled=!D})};C.fn.selected=function(D){if(D==undefined){D=true}return this.each(function(){var E=this.type;if(E=="checkbox"||E=="radio"){this.checked=D}else{if(this.tagName.toLowerCase()=="option"){var F=C(this).parent("select");if(D&&F[0]&&F[0].type=="select-one"){F.find("option").selected(false)}this.selected=D}}})};function B(){if(C.fn.ajaxSubmit.debug&&window.console&&window.console.log){window.console.log("[jquery.form] "+Array.prototype.join.call(arguments,""))}}})(jQuery);