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

