/*
* jQuery Form Plugin
* version: 2.18 (06-JAN-2009)
* @requires jQuery v1.2.2 or later
*
* Examples and documentation at: http://malsup.com/jquery/form/
* Dual licensed under the MIT and GPL licenses:
* http://www.opensource.org/licenses/mit-license.php
* http://www.gnu.org/licenses/gpl.html
*
* Revision: $Id$
*/
;(function($){$.fn.ajaxSubmit=function(x){if(!this.length){F('ajaxSubmit: skipping submit process - no element selected');return this}if(typeof x=='function')x={success:x};x=$.extend({url:this.attr('action')||window.location.toString(),type:this.attr('method')||'GET'},x||{});var y={};this.trigger('form-pre-serialize',[this,x,y]);if(y.veto){F('ajaxSubmit: submit vetoed via form-pre-serialize trigger');return this}if(x.beforeSerialize&&x.beforeSerialize(this,x)===false){F('ajaxSubmit: submit aborted via beforeSerialize callback');return this}var a=this.formToArray(x.semantic);if(x.data){x.extraData=x.data;for(var n in x.data){if(x.data[n]instanceof Array){for(var k in x.data[n])a.push({name:n,value:x.data[n][k]})}else a.push({name:n,value:x.data[n]})}}if(x.beforeSubmit&&x.beforeSubmit(a,this,x)===false){F('ajaxSubmit: submit aborted via beforeSubmit callback');return this}this.trigger('form-submit-validate',[a,this,x,y]);if(y.veto){F('ajaxSubmit: submit vetoed via form-submit-validate trigger');return this}var q=$.param(a);if(x.type.toUpperCase()=='GET'){x.url+=(x.url.indexOf('?')>=0?'&':'?')+q;x.data=null}else x.data=q;var z=this,A=[];if(x.resetForm)A.push(function(){z.resetForm()});if(x.clearForm)A.push(function(){z.clearForm()});if(!x.dataType&&x.target){var B=x.success||function(){};A.push(function(a){$(x.target).html(a).each(B,arguments)})}else if(x.success)A.push(x.success);x.success=function(a,b){for(var i=0,c=A.length;i');var o=m[0];if($.browser.msie||$.browser.opera)o.src='javascript:false;document.write("");';m.css({position:'absolute',top:'-1000px',left:'-1000px'});var p={aborted:0,responseText:null,responseXML:null,status:0,statusText:'n/a',getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){},abort:function(){this.aborted=1;m.attr('src','about:blank')}};var g=k.global;if(g&&!$.active++)$.event.trigger("ajaxStart");if(g)$.event.trigger("ajaxSend",[p,k]);if(s.beforeSend&&s.beforeSend(p,s)===false){s.global&&jQuery.active--;return}if(p.aborted)return;var q=0;var r=0;var u=j.clk;if(u){var n=u.name;if(n&&!u.disabled){x.extraData=x.extraData||{};x.extraData[n]=u.value;if(u.type=="image"){x.extraData[name+'.x']=j.clk_x;x.extraData[name+'.y']=j.clk_y}}}setTimeout(function(){var t=z.attr('target'),a=z.attr('action');z.attr({target:l,method:'POST',action:k.url});if(!x.skipEncodingOverride){z.attr({encoding:'multipart/form-data',enctype:'multipart/form-data'})}if(k.timeout)setTimeout(function(){r=true;v()},k.timeout);var b=[];try{if(x.extraData)for(var n in x.extraData)b.push($('').appendTo(j)[0]);m.appendTo('body');o.attachEvent?o.attachEvent('onload',v):o.addEventListener('load',v,false);j.submit()}finally{z.attr('action',a);t?z.attr('target',t):z.removeAttr('target');$(b).remove()}},10);function v(){if(q++)return;o.detachEvent?o.detachEvent('onload',v):o.removeEventListener('load',v,false);var c=0;var d=true;try{if(r)throw'timeout';var f,h;h=o.contentWindow?o.contentWindow.document:o.contentDocument?o.contentDocument:o.document;if(h.body==null&&!c&&$.browser.opera){c=1;q--;setTimeout(v,100);return}p.responseText=h.body?h.body.innerHTML:null;p.responseXML=h.XMLDocument?h.XMLDocument:h;p.getResponseHeader=function(a){var b={'content-type':k.dataType};return b[a]};if(k.dataType=='json'||k.dataType=='script'){var i=h.getElementsByTagName('textarea')[0];p.responseText=i?i.value:p.responseText}else if(k.dataType=='xml'&&!p.responseXML&&p.responseText!=null){p.responseXML=w(p.responseText)}f=$.httpData(p,k.dataType)}catch(e){d=false;$.handleError(k,p,'error',e)}if(d){k.success(f,'success');if(g)$.event.trigger("ajaxSuccess",[p,k])}if(g)$.event.trigger("ajaxComplete",[p,k]);if(g&&!--$.active)$.event.trigger("ajaxStop");if(k.complete)k.complete(p,d?'success':'error');setTimeout(function(){m.remove();p.responseXML=null},100)};function w(s,a){if(window.ActiveXObject){a=new ActiveXObject('Microsoft.XMLDOM');a.async='false';a.loadXML(s)}else a=(new DOMParser()).parseFromString(s,'text/xml');return(a&&a.documentElement&&a.documentElement.tagName!='parsererror')?a:null}}};$.fn.ajaxForm=function(c){return this.ajaxFormUnbind().bind('submit.form-plugin',function(){$(this).ajaxSubmit(c);return false}).each(function(){$(":submit,input:image",this).bind('click.form-plugin',function(e){var a=this.form;a.clk=this;if(this.type=='image'){if(e.offsetX!=undefined){a.clk_x=e.offsetX;a.clk_y=e.offsetY}else if(typeof $.fn.offset=='function'){var b=$(this).offset();a.clk_x=e.pageX-b.left;a.clk_y=e.pageY-b.top}else{a.clk_x=e.pageX-this.offsetLeft;a.clk_y=e.pageY-this.offsetTop}}setTimeout(function(){a.clk=a.clk_x=a.clk_y=null},10)})})};$.fn.ajaxFormUnbind=function(){this.unbind('submit.form-plugin');return this.each(function(){$(":submit,input:image",this).unbind('click.form-plugin')})};$.fn.formToArray=function(b){var a=[];if(this.length==0)return a;var c=this[0];var d=b?c.getElementsByTagName('*'):c.elements;if(!d)return a;for(var i=0,e=d.length;i