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

