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