/*! * jQuery Form Plugin * version: 3.35.0-2013.05.23 * @requires jQuery v1.5 or later * Copyright (c) 2013 M. Alsup * Examples and documentation at: http://malsup.com/jquery/form/ * Project repository: https://github.com/malsup/form * Dual licensed under the MIT and GPL licenses. * https://github.com/malsup/form#copyright-and-license */ (function(c){function u(a){var j=a.data;a.isDefaultPrevented()||(a.preventDefault(),c(this).ajaxSubmit(j))}function s(a){var j=a.target,e=c(j);if(!e.is("[type=submit],[type=image]")){j=e.closest("[type=submit]");if(0===j.length)return;j=j[0]}var b=this;b.clk=j;"image"==j.type&&(void 0!==a.offsetX?(b.clk_x=a.offsetX,b.clk_y=a.offsetY):"function"==typeof c.fn.offset?(e=e.offset(),b.clk_x=a.pageX-e.left,b.clk_y=a.pageY-e.top):(b.clk_x=a.pageX-j.offsetLeft,b.clk_y=a.pageY-j.offsetTop));setTimeout(function(){b.clk= b.clk_x=b.clk_y=null},100)}function n(){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)}}var B,G;B=void 0!==c("").get(0).files;G=void 0!==window.FormData;var D=!!c.fn.prop;c.fn.attr2=function(){if(!D)return this.attr.apply(this,arguments);var a=this.prop.apply(this,arguments);return a&&a.jquery||"string"===typeof a?a: this.attr.apply(this,arguments)};c.fn.ajaxSubmit=function(a){function j(b){function j(a){var b=null;try{a.contentWindow&&(b=a.contentWindow.document)}catch(c){n("cannot get iframe.contentWindow document: "+c)}if(b)return b;try{b=a.contentDocument?a.contentDocument:a.document}catch(d){n("cannot get iframe.contentDocument: "+d),b=a.document}return b}function f(){function a(){try{var b=j(t).readyState;n("state = "+b);b&&"uninitialized"==b.toLowerCase()&&setTimeout(a,50)}catch(c){n("Server abort: ",c, " (",c.name,")"),m(E),s&&clearTimeout(s),s=void 0}}var b=l.attr2("target"),h=l.attr2("action");k.setAttribute("target",r);e||k.setAttribute("method","POST");h!=d.url&&k.setAttribute("action",d.url);!d.skipEncodingOverride&&(!e||/post/i.test(e))&&l.attr({encoding:"multipart/form-data",enctype:"multipart/form-data"});d.timeout&&(s=setTimeout(function(){u=!0;m(z)},d.timeout));var g=[];try{if(d.extraData)for(var x in d.extraData)d.extraData.hasOwnProperty(x)&&(c.isPlainObject(d.extraData[x])&&d.extraData[x].hasOwnProperty("name")&& d.extraData[x].hasOwnProperty("value")?g.push(c('').val(d.extraData[x].value).appendTo(k)[0]):g.push(c('').val(d.extraData[x]).appendTo(k)[0]));d.iframeTarget||(v.appendTo("body"),t.attachEvent?t.attachEvent("onload",m):t.addEventListener("load",m,!1));setTimeout(a,15);try{k.submit()}catch(q){document.createElement("form").submit.apply(k)}}finally{k.setAttribute("action",h),b?k.setAttribute("target",b):l.removeAttr("target"), c(g).remove()}}function m(a){if(!h.aborted&&!C)if(q=j(t),q||(n("cannot access response document"),a=E),a===z&&h)h.abort("timeout"),w.reject(h,"timeout");else if(a==E&&h)h.abort("server abort"),w.reject(h,"error","server abort");else if(q&&q.location.href!=d.iframeSrc||u){t.detachEvent?t.detachEvent("onload",m):t.removeEventListener("load",m,!1);a="success";var b;try{if(u)throw"timeout";var f="xml"==d.dataType||q.XMLDocument||c.isXMLDoc(q);n("isXml="+f);if(!f&&(window.opera&&(null===q.body||!q.body.innerHTML))&& --F){n("requeing onLoad callback, DOM not available");setTimeout(m,250);return}var e=q.body?q.body:q.documentElement;h.responseText=e?e.innerHTML:null;h.responseXML=q.XMLDocument?q.XMLDocument:q;f&&(d.dataType="xml");h.getResponseHeader=function(a){return{"content-type":d.dataType}[a]};e&&(h.status=Number(e.getAttribute("status"))||h.status,h.statusText=e.getAttribute("statusText")||h.statusText);var g=(d.dataType||"").toLowerCase(),l=/(json|script|text)/.test(g);if(l||d.textarea){var k=q.getElementsByTagName("textarea")[0]; if(k)h.responseText=k.value,h.status=Number(k.getAttribute("status"))||h.status,h.statusText=k.getAttribute("statusText")||h.statusText;else if(l){var p=q.getElementsByTagName("pre")[0],H=q.getElementsByTagName("body")[0];p?h.responseText=p.textContent?p.textContent:p.innerText:H&&(h.responseText=H.textContent?H.textContent:H.innerText)}}else"xml"==g&&(!h.responseXML&&h.responseText)&&(h.responseXML=G(h.responseText));try{var f=h,e=d,r=f.getResponseHeader("content-type")||"",J="xml"===g||!g&&0<=r.indexOf("xml"), y=J?f.responseXML:f.responseText;J&&"parsererror"===y.documentElement.nodeName&&c.error&&c.error("parsererror");e&&e.dataFilter&&(y=e.dataFilter(y,g));"string"===typeof y&&("json"===g||!g&&0<=r.indexOf("json")?y=I(y):("script"===g||!g&&0<=r.indexOf("javascript"))&&c.globalEval(y));B=y}catch(K){a="parsererror",h.error=b=K||a}}catch(D){n("error caught: ",D),a="error",h.error=b=D||a}h.aborted&&(n("upload aborted"),a=null);h.status&&(a=200<=h.status&&300>h.status||304===h.status?"success":"error");"success"=== a?(d.success&&d.success.call(d.context,B,"success",h),w.resolve(h.responseText,"success",h),A&&c.event.trigger("ajaxSuccess",[h,d])):a&&(void 0===b&&(b=h.statusText),d.error&&d.error.call(d.context,h,a,b),w.reject(h,"error",b),A&&c.event.trigger("ajaxError",[h,d,b]));A&&c.event.trigger("ajaxComplete",[h,d]);A&&!--c.active&&c.event.trigger("ajaxStop");d.complete&&d.complete.call(d.context,h,a);C=!0;d.timeout&&clearTimeout(s);setTimeout(function(){d.iframeTarget||v.remove();h.responseXML=null},100)}} var k=l[0],g,d,A,r,v,t,h,u,s,w=c.Deferred();if(b)for(g=0;g