/*!
 * jQuery Form Plugin
 * version: 2.67 (12-MAR-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(m){if(!this.length){a("ajaxSubmit: skipping submit process - no element selected");return this}if(typeof m=="function"){m={success:m}}var l=this.attr("action");var d=(typeof l==="string")?b.trim(l):"";if(d){d=(d.match(/^([^#]+)/)||[])[1]}d=d||window.location.href||"";m=b.extend(true,{url:d,type:this[0].getAttribute("method")||"GET",iframeSrc:/^https/i.test(window.location.href||"")?"javascript:false":"about:blank"},m);var u={};this.trigger("form-pre-serialize",[this,m,u]);if(u.veto){a("ajaxSubmit: submit vetoed via form-pre-serialize trigger");return this}if(m.beforeSerialize&&m.beforeSerialize(this,m)===false){a("ajaxSubmit: submit aborted via beforeSerialize callback");return this}var g,r,o=this.formToArray(m.semantic);if(m.data){m.extraData=m.data;for(g in m.data){if(m.data[g] instanceof Array){for(var j in m.data[g]){o.push({name:g,value:m.data[g][j]})}}else{r=m.data[g];r=b.isFunction(r)?r():r;o.push({name:g,value:r})}}}if(m.beforeSubmit&&m.beforeSubmit(o,this,m)===false){a("ajaxSubmit: submit aborted via beforeSubmit callback");return this}this.trigger("form-submit-validate",[o,this,m,u]);if(u.veto){a("ajaxSubmit: submit vetoed via form-submit-validate trigger");return this}var c=b.param(o);if(m.type.toUpperCase()=="GET"){m.url+=(m.url.indexOf("?")>=0?"&":"?")+c;m.data=null}else{m.data=c}var t=this,e=[];if(m.resetForm){e.push(function(){t.resetForm()})}if(m.clearForm){e.push(function(){t.clearForm()})}if(!m.dataType&&m.target){var s=m.success||function(){};e.push(function(n){var k=m.replaceTarget?"replaceWith":"html";b(m.target)[k](n).each(s,arguments)})}else{if(m.success){e.push(m.success)}}m.success=function(w,v,x){var q=m.context||m;for(var n=0,k=e.length;n<k;n++){e[n].apply(q,[w,v,x||t,t])}};var i=b("input:file",this).length>0;var f="multipart/form-data";var h=(t.attr("enctype")==f||t.attr("encoding")==f);if(m.iframe!==false&&(i||m.iframe||h)){if(m.closeKeepAlive){b.get(m.closeKeepAlive,p)}else{p()}}else{b.ajax(m)}this.trigger("form-submit-notify",[this,m]);return this;function p(){var k=t[0];if(b(":input[name=submit],:input[id=submit]",k).length){log_or_alert('Error: Form elements must not have name or id of "submit".');return}var B=b.extend(true,{},b.ajaxSettings,m);B.context=B.context||B;var D="jqFormIO"+(new Date().getTime()),y="_"+D;var q=b('<iframe id="'+D+'" name="'+D+'" src="'+B.iframeSrc+'" />');var x=q[0];q.css({position:"absolute",top:"-1000px",left:"-1000px"});var w={aborted:0,responseText:null,responseXML:null,status:0,statusText:"n/a",getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){},abort:function(){a("aborting upload...");var n="aborted";this.aborted=1;q.attr("src",B.iframeSrc);w.error=n;B.error&&B.error.call(B.context,w,"error",n);I&&b.event.trigger("ajaxError",[w,B,n]);B.complete&&B.complete.call(B.context,w,"error")}};var I=B.global;if(I&&!b.active++){b.event.trigger("ajaxStart")}if(I){b.event.trigger("ajaxSend",[w,B])}if(B.beforeSend&&B.beforeSend.call(B.context,w,B)===false){if(B.global){b.active--}return}if(w.aborted){return}var H=0;var v=k.clk;if(v){var F=v.name;if(F&&!v.disabled){B.extraData=B.extraData||{};B.extraData[F]=v.value;if(v.type=="image"){B.extraData[F+".x"]=k.clk_x;B.extraData[F+".y"]=k.clk_y}}}function G(){var O=t.attr("target"),M=t.attr("action");k.setAttribute("target",D);if(k.getAttribute("method")!="POST"){k.setAttribute("method","POST")}if(k.getAttribute("action")!=B.url){k.setAttribute("action",B.url)}if(!B.skipEncodingOverride){t.attr({encoding:"multipart/form-data",enctype:"multipart/form-data"})}if(B.timeout){setTimeout(function(){H=true;E()},B.timeout)}var N=[];try{if(B.extraData){for(var P in B.extraData){N.push(b('<input type="hidden" name="'+P+'" value="'+B.extraData[P]+'" />').appendTo(k)[0])}}q.appendTo("body");x.attachEvent?x.attachEvent("onload",E):x.addEventListener("load",E,false);k.submit()}finally{k.setAttribute("action",M);if(O){k.setAttribute("target",O)}else{t.removeAttr("target")}b(N).remove()}}if(B.forceSync){G()}else{setTimeout(G,10)}var K,L,J=50;function E(){if(w.aborted){return}var R=x.contentWindow?x.contentWindow.document:x.contentDocument?x.contentDocument:x.document;if(!R||R.location.href==B.iframeSrc){return}x.detachEvent?x.detachEvent("onload",E):x.removeEventListener("load",E,false);var N=true;try{if(H){throw"timeout"}var S=B.dataType=="xml"||R.XMLDocument||b.isXMLDoc(R);a("isXml="+S);if(!S&&window.opera&&(R.body==null||R.body.innerHTML=="")){if(--J){a("requeing onLoad callback, DOM not available");setTimeout(E,250);return}}w.responseText=R.body?R.body.innerHTML:R.documentElement?R.documentElement.innerHTML:null;w.responseXML=R.XMLDocument?R.XMLDocument:R;w.getResponseHeader=function(T){var U={"content-type":B.dataType};return U[T]};var Q=/(json|script)/.test(B.dataType);if(Q||B.textarea){var M=R.getElementsByTagName("textarea")[0];if(M){w.responseText=M.value}else{if(Q){var P=R.getElementsByTagName("pre")[0];var n=R.getElementsByTagName("body")[0];if(P){w.responseText=P.textContent}else{if(n){w.responseText=n.innerHTML}}}}}else{if(B.dataType=="xml"&&!w.responseXML&&w.responseText!=null){w.responseXML=C(w.responseText)}}K=z(w,B.dataType,B)}catch(O){a("error caught:",O);N=false;w.error=O;B.error&&B.error.call(B.context,w,"error",O);I&&b.event.trigger("ajaxError",[w,B,O])}if(w.aborted){a("upload aborted");N=false}if(N){B.success&&B.success.call(B.context,K,"success",w);I&&b.event.trigger("ajaxSuccess",[w,B])}I&&b.event.trigger("ajaxComplete",[w,B]);if(I&&!--b.active){b.event.trigger("ajaxStop")}B.complete&&B.complete.call(B.context,w,N?"success":"error");setTimeout(function(){q.removeData("form-plugin-onload");q.remove();w.responseXML=null},100)}var C=b.parseXML||function(n,M){if(window.ActiveXObject){M=new ActiveXObject("Microsoft.XMLDOM");M.async="false";M.loadXML(n)}else{M=(new DOMParser()).parseFromString(n,"text/xml")}return(M&&M.documentElement&&M.documentElement.nodeName!="parsererror")?M:null};var A=b.parseJSON||function(n){return window["eval"]("("+n+")")};var z=function(Q,O,N){var M=Q.getResponseHeader("content-type")||"",n=O==="xml"||!O&&M.indexOf("xml")>=0,P=n?Q.responseXML:Q.responseText;if(n&&P.documentElement.nodeName==="parsererror"){b.error&&b.error("parsererror")}if(N&&N.dataFilter){P=N.dataFilter(P,O)}if(typeof P==="string"){if(O==="json"||!O&&M.indexOf("json")>=0){P=A(P)}else{if(O==="script"||!O&&M.indexOf("javascript")>=0){b.globalEval(P)}}}return P}}};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(){return this.each(function(){var d=this.type,c=this.tagName.toLowerCase();if(d=="text"||d=="password"||c=="textarea"){this.value=""}else{if(d=="checkbox"||d=="radio"){this.checked=false}else{if(c=="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(){if(b.fn.ajaxSubmit.debug){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);
