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