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

