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