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