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