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