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


