/*
 * jQuery Form Plugin
 * version: 2.43 (12-MAR-2010)
 * @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 d=b.trim(this.attr("action"));if(d){d=(d.match(/^([^#]+)/)||[])[1]}d=d||window.location.href||"";m=b.extend({url:d,type:this.attr("method")||"GET",iframeSrc:/^https/i.test(window.location.href||"")?"javascript:false":"about:blank"},m||{});var t={};this.trigger("form-pre-serialize",[this,m,t]);if(t.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 o=this.formToArray(m.semantic);if(m.data){m.extraData=m.data;for(var g in m.data){if(m.data[g] instanceof Array){for(var i in m.data[g]){o.push({name:g,value:m.data[g][i]})}}else{o.push({name:g,value:m.data[g]})}}}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,t]);if(t.veto){a("ajaxSubmit: submit vetoed via form-submit-validate trigger");return this}var e=b.param(o);if(m.type.toUpperCase()=="GET"){m.url+=(m.url.indexOf("?")>=0?"&":"?")+e;m.data=null}else{m.data=e}var u=this,f=[];if(m.resetForm){f.push(function(){u.resetForm()})}if(m.clearForm){f.push(function(){u.clearForm()})}if(!m.dataType&&m.target){var r=m.success||function(){};f.push(function(k){var j=m.replaceTarget?"replaceWith":"html";b(m.target)[j](k).each(r,arguments)})}else{if(m.success){f.push(m.success)}}m.success=function(q,n,v){for(var k=0,j=f.length;k<j;k++){f[k].apply(m,[q,n,v||u,u])}};var c=b("input:file",this).fieldValue();var s=false;for(var l=0;l<c.length;l++){if(c[l]){s=true}}var h=false;if((c.length&&m.iframe!==false)||m.iframe||s||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 q=u[0];if(b(":input[name=submit]",q).length){alert('Error: Form elements must not be named "submit".');return}var k=b.extend({},b.ajaxSettings,m);var H=b.extend(true,{},b.extend(true,{},b.ajaxSettings),k);var v="jqFormIO"+(new Date().getTime());var C=b('<iframe id="'+v+'" name="'+v+'" src="'+k.iframeSrc+'" onload="(jQuery(this).data(\'form-plugin-onload\'))()" />');var E=C[0];C.css({position:"absolute",top:"-1000px",left:"-1000px"});var G={aborted:0,responseText:null,responseXML:null,status:0,statusText:"n/a",getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){},abort:function(){this.aborted=1;C.attr("src",k.iframeSrc)}};var D=k.global;if(D&&!b.active++){b.event.trigger("ajaxStart")}if(D){b.event.trigger("ajaxSend",[G,k])}if(H.beforeSend&&H.beforeSend(G,H)===false){H.global&&b.active--;return}if(G.aborted){return}var F=false;var B=0;var j=q.clk;if(j){var x=j.name;if(x&&!j.disabled){k.extraData=k.extraData||{};k.extraData[x]=j.value;if(j.type=="image"){k.extraData[x+".x"]=q.clk_x;k.extraData[x+".y"]=q.clk_y}}}function w(){var K=u.attr("target"),I=u.attr("action");q.setAttribute("target",v);if(q.getAttribute("method")!="POST"){q.setAttribute("method","POST")}if(q.getAttribute("action")!=k.url){q.setAttribute("action",k.url)}if(!k.skipEncodingOverride){u.attr({encoding:"multipart/form-data",enctype:"multipart/form-data"})}if(k.timeout){setTimeout(function(){B=true;z()},k.timeout)}var J=[];try{if(k.extraData){for(var L in k.extraData){J.push(b('<input type="hidden" name="'+L+'" value="'+k.extraData[L]+'" />').appendTo(q)[0])}}C.appendTo("body");C.data("form-plugin-onload",z);q.submit()}finally{q.setAttribute("action",I);K?q.setAttribute("target",K):u.removeAttr("target");b(J).remove()}}if(k.forceSync){w()}else{setTimeout(w,10)}var y=100;function z(){if(F){return}var I=true;try{if(B){throw"timeout"}var J,M;M=E.contentWindow?E.contentWindow.document:E.contentDocument?E.contentDocument:E.document;var N=k.dataType=="xml"||M.XMLDocument||b.isXMLDoc(M);a("isXml="+N);if(!N&&(M.body==null||M.body.innerHTML=="")){if(--y){a("requeing onLoad callback, DOM not available");setTimeout(z,250);return}a("Could not access iframe DOM after 100 tries.");return}a("response detected");F=true;G.responseText=M.body?M.body.innerHTML:null;G.responseXML=M.XMLDocument?M.XMLDocument:M;G.getResponseHeader=function(O){var P={"content-type":k.dataType};return P[O]};if(k.dataType=="json"||k.dataType=="script"){var n=M.getElementsByTagName("textarea")[0];if(n){G.responseText=n.value}else{var L=M.getElementsByTagName("pre")[0];if(L){G.responseText=L.innerHTML}}}else{if(k.dataType=="xml"&&!G.responseXML&&G.responseText!=null){G.responseXML=A(G.responseText)}}J=b.httpData(G,k.dataType)}catch(K){a("error caught:",K);I=false;G.error=K;b.handleError(k,G,"error",K)}if(I){k.success(J,"success");if(D){b.event.trigger("ajaxSuccess",[G,k])}}if(D){b.event.trigger("ajaxComplete",[G,k])}if(D&&!--b.active){b.event.trigger("ajaxStop")}if(k.complete){k.complete(G,I?"success":"error")}setTimeout(function(){C.removeData("form-plugin-onload");C.remove();G.responseXML=null},100)}function A(n,I){if(window.ActiveXObject){I=new ActiveXObject("Microsoft.XMLDOM");I.async="false";I.loadXML(n)}else{I=(new DOMParser()).parseFromString(n,"text/xml")}return(I&&I.documentElement&&I.documentElement.tagName!="parsererror")?I:null}}};b.fn.ajaxForm=function(c){return this.ajaxFormUnbind().bind("submit.form-plugin",function(d){d.preventDefault();b(this).ajaxSubmit(c)}).bind("click.form-plugin",function(h){var j=h.target;var f=b(j);if(!(f.is(":submit,input:image"))){var d=f.closest(":submit");if(d.length==0){return}j=d[0]}var g=this;g.clk=j;if(j.type=="image"){if(h.offsetX!=undefined){g.clk_x=h.offsetX;g.clk_y=h.offsetY}else{if(typeof b.fn.offset=="function"){var i=f.offset();g.clk_x=h.pageX-i.left;g.clk_y=h.pageY-i.top}else{g.clk_x=h.pageX-j.offsetLeft;g.clk_y=h.pageY-j.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(q){var p=[];if(this.length==0){return p}var d=this[0];var h=q?d.getElementsByTagName("*"):d.elements;if(!h){return p}for(var k=0,m=h.length;k<m;k++){var e=h[k];var 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}var r=b.fieldValue(e,true);if(r&&r.constructor==Array){for(var 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(typeof 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 d.value};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);
