(function(a){a.fn.ajaxSubmit=function(l){if(typeof l=="function"){l={success:l}}l=a.extend({url:this.attr("action")||window.location.toString(),type:this.attr("method")||"GET"},l||{});var o={};this.trigger("form-pre-serialize",[this,l,o]);if(o.veto){return this}var g=this.formToArray(l.semantic);if(l.data){l.extraData=l.data;for(var d in l.data){g.push({name:d,value:l.data[d]})}}if(l.beforeSubmit&&l.beforeSubmit(g,this,l)===false){return this}this.trigger("form-submit-validate",[g,this,l,o]);if(o.veto){return this}var c=a.param(g);if(l.type.toUpperCase()=="GET"){l.url+=(l.url.indexOf("?")>=0?"&":"?")+c;l.data=null}else{l.data=c}var m=this,f=[];if(l.resetForm){f.push(function(){m.resetForm()})}if(l.clearForm){f.push(function(){m.clearForm()})}if(!l.dataType&&l.target){var i=l.success||function(){};f.push(function(j){a(l.target).html(j).each(i,arguments)})}else{if(l.success){f.push(l.success)}}l.success=function(q,n){for(var p=0,j=f.length;p<j;p++){f[p](q,n,m)}};var b=a("input:file",this).fieldValue();var k=false;for(var e=0;e<b.length;e++){if(b[e]){k=true}}if(l.iframe||k){if(a.browser.safari&&l.closeKeepAlive){a.get(l.closeKeepAlive,h)}else{h()}}else{a.ajax(l)}this.trigger("form-submit-notify",[this,l]);return this;function h(){var q=m[0];var n=a.extend({},a.ajaxSettings,l);var p="jqFormIO"+(new Date().getTime());var u=a('<iframe id="'+p+'" name="'+p+'" />');var w=u[0];var x=false;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=n.global;if(v&&!a.active++){a.event.trigger("ajaxStart")}if(v){a.event.trigger("ajaxSend",[y,n])}var j=0;var r=0;setTimeout(function(){var B=m.attr("target"),z=m.attr("action");m.attr({target:p,encoding:"multipart/form-data",enctype:"multipart/form-data",method:"POST",action:n.url});if(n.timeout){setTimeout(function(){r=true;s()},n.timeout)}var A=[];try{if(l.extraData){for(var C in l.extraData){A.push(a('<input type="hidden" name="'+C+'" value="'+l.extraData[C]+'" />').appendTo(q)[0])}}u.appendTo("body");w.attachEvent?w.attachEvent("onload",s):w.addEventListener("load",s,false);q.submit()}finally{m.attr("action",z);B?m.attr("target",B):m.removeAttr("target");a(A).remove()}},10);function s(){if(j++){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":n.dataType};return E[F]};if(n.dataType=="json"||n.dataType=="script"){var z=D.getElementsByTagName("textarea")[0];y.responseText=z?z.value:y.responseText}else{if(n.dataType=="xml"&&!y.responseXML&&y.responseText!=null){y.responseXML=t(y.responseText)}}B=a.httpData(y,n.dataType)}catch(C){A=false;a.handleError(n,y,"error",C)}if(A){n.success(B,"success");if(v){a.event.trigger("ajaxSuccess",[y,n])}}if(v){a.event.trigger("ajaxComplete",[y,n])}if(v&&!--a.active){a.event.trigger("ajaxStop")}if(n.complete){n.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(){a(this).ajaxSubmit(b);return false}).each(function(){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 f=a(this).offset();c.clk_x=d.pageX-f.left;c.clk_y=d.pageY-f.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(p){var o=[];if(this.length==0){return o}var c=this[0];var g=p?c.getElementsByTagName("*"):c.elements;if(!g){return o}for(var h=0,l=g.length;h<l;h++){var d=g[h];var e=d.name;if(!e){continue}if(p&&c.clk&&d.type=="image"){if(!d.disabled&&c.clk==d){o.push({name:e+".x",value:c.clk_x},{name:e+".y",value:c.clk_y})}continue}var q=a.fieldValue(d,true);if(q&&q.constructor==Array){for(var f=0,b=q.length;f<b;f++){o.push({name:e,value:q[f]})}}else{if(q!==null&&typeof q!="undefined"){o.push({name:e,value:q})}}}if(!p&&c.clk){var k=c.getElementsByTagName("input");for(var h=0,l=k.length;h<l;h++){var m=k[h];var e=m.name;if(e&&!m.disabled&&m.type=="image"&&c.clk==m){o.push({name:e+".x",value:c.clk_x},{name:e+".y",value:c.clk_y})}}}return o};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,o=b.type,p=b.tagName.toLowerCase();if(typeof h=="undefined"){h=true}if(h&&(!d||b.disabled||o=="reset"||o=="button"||(o=="checkbox"||o=="radio")&&!b.checked||(o=="submit"||o=="image")&&b.form&&b.form.clk!=b||p=="select"&&b.selectedIndex==-1)){return null}if(p=="select"){var j=b.selectedIndex;if(j<0){return null}var l=[],c=b.options;var f=(o=="select-one");var k=(f?j+1:c.length);for(var e=(f?j:0);e<k;e++){var g=c[e];if(g.selected){var m=a.browser.msie&&!(g.attributes.value.specified)?g.text:g.value;if(f){return m}l.push(m)}}return l}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(c){if(c==undefined){c=true}return this.each(function(){this.disabled=!c})};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);
