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