/*
 * jQuery Form Plugin
 * version: 2.28 (10-MAY-2009)
 * @requires jQuery v1.2.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($){$.fn.ajaxSubmit=function(_2){if(!this.length){log("ajaxSubmit: skipping submit process - no element selected");return this}if(typeof _2=="function"){_2={success:_2}}var _3=$.trim(this.attr("action"));if(_3){_3=(_3.match(/^([^#]+)/)||[])[1]}_3=_3||window.location.href||"";_2=$.extend({url:_3,type:this.attr("method")||"GET"},_2||{});var _4={};this.trigger("form-pre-serialize",[this,_2,_4]);if(_4.veto){log("ajaxSubmit: submit vetoed via form-pre-serialize trigger");return this}if(_2.beforeSerialize&&_2.beforeSerialize(this,_2)===false){log("ajaxSubmit: submit aborted via beforeSerialize callback");return this}var a=this.formToArray(_2.semantic);if(_2.data){_2.extraData=_2.data;for(var n in _2.data){if(_2.data[n]instanceof Array){for(var k in _2.data[n]){a.push({name:n,value:_2.data[n][k]})}}else{a.push({name:n,value:_2.data[n]})}}}if(_2.beforeSubmit&&_2.beforeSubmit(a,this,_2)===false){log("ajaxSubmit: submit aborted via beforeSubmit callback");return this}this.trigger("form-submit-validate",[a,this,_2,_4]);if(_4.veto){log("ajaxSubmit: submit vetoed via form-submit-validate trigger");return this}var q=$.param(a);if(_2.type.toUpperCase()=="GET"){_2.url+=(_2.url.indexOf("?")>=0?"&":"?")+q;_2.data=null}else{_2.data=q}var _9=this,callbacks=[];if(_2.resetForm){callbacks.push(function(){_9.resetForm()})}if(_2.clearForm){callbacks.push(function(){_9.clearForm()})}if(!_2.dataType&&_2.target){var _a=_2.success||function(){};callbacks.push(function(_b){$(_2.target).html(_b).each(_a,arguments)})}else{if(_2.success){callbacks.push(_2.success)}}_2.success=function(_c,_d){for(var i=0,max=callbacks.length;i<max;i++){callbacks[i].apply(_2,[_c,_d,_9])}};var _f=$("input:file",this).fieldValue();var _10=false;for(var j=0;j<_f.length;j++){if(_f[j]){_10=true}}var _12=false;if(_2.iframe||_10||_12){if(_2.closeKeepAlive){$.get(_2.closeKeepAlive,fileUpload)}else{fileUpload()}}else{$.ajax(_2)}this.trigger("form-submit-notify",[this,_2]);return this;function fileUpload(){var _13=_9[0];if($(":input[name=submit]",_13).length){alert("Error: Form elements must not be named \"submit\".");return}var _14=$.extend({},$.ajaxSettings,_2);var s=$.extend(true,{},$.extend(true,{},$.ajaxSettings),_14);var id="jqFormIO"+(new Date().getTime());var $io=$("<iframe id=\""+id+"\" name=\""+id+"\" src=\"about:blank\" />");var io=$io[0];$io.css({position:"absolute",top:"-1000px",left:"-1000px"});var xhr={aborted:0,responseText:null,responseXML:null,status:0,statusText:"n/a",getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){},abort:function(){this.aborted=1;$io.attr("src","about:blank")}};var g=_14.global;if(g&&!$.active++){$.event.trigger("ajaxStart")}if(g){$.event.trigger("ajaxSend",[xhr,_14])}if(s.beforeSend&&s.beforeSend(xhr,s)===false){s.global&&$.active--;return}if(xhr.aborted){return}var _1b=0;var _1c=0;var sub=_13.clk;if(sub){var n=sub.name;if(n&&!sub.disabled){_2.extraData=_2.extraData||{};_2.extraData[n]=sub.value;if(sub.type=="image"){_2.extraData[name+".x"]=_13.clk_x;_2.extraData[name+".y"]=_13.clk_y}}}setTimeout(function(){var t=_9.attr("target"),a=_9.attr("action");_13.setAttribute("target",id);if(_13.getAttribute("method")!="POST"){_13.setAttribute("method","POST")}if(_13.getAttribute("action")!=_14.url){_13.setAttribute("action",_14.url)}if(!_2.skipEncodingOverride){_9.attr({encoding:"multipart/form-data",enctype:"multipart/form-data"})}if(_14.timeout){setTimeout(function(){_1c=true;cb()},_14.timeout)}var _20=[];try{if(_2.extraData){for(var n in _2.extraData){_20.push($("<input type=\"hidden\" name=\""+n+"\" value=\""+_2.extraData[n]+"\" />").appendTo(_13)[0])}}$io.appendTo("body");io.attachEvent?io.attachEvent("onload",cb):io.addEventListener("load",cb,false);_13.submit()}finally{_13.setAttribute("action",a);t?_13.setAttribute("target",t):_9.removeAttr("target");$(_20).remove()}},10);var _22=0;function cb(){if(_1b++){return}io.detachEvent?io.detachEvent("onload",cb):io.removeEventListener("load",cb,false);var ok=true;try{if(_1c){throw"timeout";}var _24,doc;doc=io.contentWindow?io.contentWindow.document:io.contentDocument?io.contentDocument:io.document;if((doc.body==null||doc.body.innerHTML=="")&&!_22){_22=1;_1b--;setTimeout(cb,100);return}xhr.responseText=doc.body?doc.body.innerHTML:null;xhr.responseXML=doc.XMLDocument?doc.XMLDocument:doc;xhr.getResponseHeader=function(_25){var _26={"content-type":_14.dataType};return _26[_25]};if(_14.dataType=="json"||_14.dataType=="script"){var ta=doc.getElementsByTagName("textarea")[0];xhr.responseText=ta?ta.value:xhr.responseText}else{if(_14.dataType=="xml"&&!xhr.responseXML&&xhr.responseText!=null){xhr.responseXML=toXml(xhr.responseText)}}_24=$.httpData(xhr,_14.dataType)}catch(e){ok=false;$.handleError(_14,xhr,"error",e)}if(ok){_14.success(_24,"success");if(g){$.event.trigger("ajaxSuccess",[xhr,_14])}}if(g){$.event.trigger("ajaxComplete",[xhr,_14])}if(g&&!--$.active){$.event.trigger("ajaxStop")}if(_14.complete){_14.complete(xhr,ok?"success":"error")}setTimeout(function(){$io.remove();xhr.responseXML=null},100)}function toXml(s,doc){if(window.ActiveXObject){doc=new ActiveXObject("Microsoft.XMLDOM");doc.async="false";doc.loadXML(s)}else{doc=(new DOMParser()).parseFromString(s,"text/xml")}return(doc&&doc.documentElement&&doc.documentElement.tagName!="parsererror")?doc:null}}};$.fn.ajaxForm=function(_2a){return this.ajaxFormUnbind().bind("submit.form-plugin",function(){$(this).ajaxSubmit(_2a);return false}).each(function(){$(":submit,input:image",this).bind("click.form-plugin",function(e){var _2c=this.form;_2c.clk=this;if(this.type=="image"){if(e.offsetX!=undefined){_2c.clk_x=e.offsetX;_2c.clk_y=e.offsetY}else{if(typeof $.fn.offset=="function"){var _2d=$(this).offset();_2c.clk_x=e.pageX-_2d.left;_2c.clk_y=e.pageY-_2d.top}else{_2c.clk_x=e.pageX-this.offsetLeft;_2c.clk_y=e.pageY-this.offsetTop}}}setTimeout(function(){_2c.clk=_2c.clk_x=_2c.clk_y=null},10)})})};$.fn.ajaxFormUnbind=function(){this.unbind("submit.form-plugin");return this.each(function(){$(":submit,input:image",this).unbind("click.form-plugin")})};$.fn.formToArray=function(_2e){var a=[];if(this.length==0){return a}var _30=this[0];var els=_2e?_30.getElementsByTagName("*"):_30.elements;if(!els){return a}for(var i=0,max=els.length;i<max;i++){var el=els[i];var n=el.name;if(!n){continue}if(_2e&&_30.clk&&el.type=="image"){if(!el.disabled&&_30.clk==el){a.push({name:n,value:$(el).val()});a.push({name:n+".x",value:_30.clk_x},{name:n+".y",value:_30.clk_y})}continue}var v=$.fieldValue(el,true);if(v&&v.constructor==Array){for(var j=0,jmax=v.length;j<jmax;j++){a.push({name:n,value:v[j]})}}else{if(v!==null&&typeof v!="undefined"){a.push({name:n,value:v})}}}if(!_2e&&_30.clk){var _37=$(_30.clk),input=_37[0],n=input.name;if(n&&!input.disabled&&input.type=="image"){a.push({name:n,value:_37.val()});a.push({name:n+".x",value:_30.clk_x},{name:n+".y",value:_30.clk_y})}}return a};$.fn.formSerialize=function(_38){return $.param(this.formToArray(_38))};$.fn.fieldSerialize=function(_39){var a=[];this.each(function(){var n=this.name;if(!n){return}var v=$.fieldValue(this,_39);if(v&&v.constructor==Array){for(var i=0,max=v.length;i<max;i++){a.push({name:n,value:v[i]})}}else{if(v!==null&&typeof v!="undefined"){a.push({name:this.name,value:v})}}});return $.param(a)};$.fn.fieldValue=function(_3e){for(var val=[],i=0,max=this.length;i<max;i++){var el=this[i];var v=$.fieldValue(el,_3e);if(v===null||typeof v=="undefined"||(v.constructor==Array&&!v.length)){continue}v.constructor==Array?$.merge(val,v):val.push(v)}return val};$.fieldValue=function(el,_43){var n=el.name,t=el.type,tag=el.tagName.toLowerCase();if(typeof _43=="undefined"){_43=true}if(_43&&(!n||el.disabled||t=="reset"||t=="button"||(t=="checkbox"||t=="radio")&&!el.checked||(t=="submit"||t=="image")&&el.form&&el.form.clk!=el||tag=="select"&&el.selectedIndex==-1)){return null}if(tag=="select"){var _45=el.selectedIndex;if(_45<0){return null}var a=[],ops=el.options;var one=(t=="select-one");var max=(one?_45+1:ops.length);for(var i=(one?_45:0);i<max;i++){var op=ops[i];if(op.selected){var v=op.value;if(!v){v=(op.attributes&&op.attributes["value"]&&!(op.attributes["value"].specified))?op.text:op.value}if(one){return v}a.push(v)}}return a}return el.value};$.fn.clearForm=function(){return this.each(function(){$("input,select,textarea",this).clearFields()})};$.fn.clearFields=$.fn.clearInputs=function(){return this.each(function(){var t=this.type,tag=this.tagName.toLowerCase();if(t=="text"||t=="password"||tag=="textarea"){this.value=""}else{if(t=="checkbox"||t=="radio"){this.checked=false}else{if(tag=="select"){this.selectedIndex=-1}}}})};$.fn.resetForm=function(){return this.each(function(){if(typeof this.reset=="function"||(typeof this.reset=="object"&&!this.reset.nodeType)){this.reset()}})};$.fn.enable=function(b){if(b==undefined){b=true}return this.each(function(){this.disabled=!b})};$.fn.selected=function(_4e){if(_4e==undefined){_4e=true}return this.each(function(){var t=this.type;if(t=="checkbox"||t=="radio"){this.checked=_4e}else{if(this.tagName.toLowerCase()=="option"){var _50=$(this).parent("select");if(_4e&&_50[0]&&_50[0].type=="select-one"){_50.find("option").selected(false)}this.selected=_4e}}})};function log(){if($.fn.ajaxSubmit.debug&&window.console&&window.console.log){window.console.log("[jquery.form] "+Array.prototype.join.call(arguments,""))}}})(jQuery);