/*
 * jQuery Form Plugin
 * version: 2.24 (10-MAR-2009)
 * Examples and documentation at: http://malsup.com/jquery/form/
 * Dual licensed under the MIT and GPL licenses:
 */
(function(B){B.fn.ajaxSubmit=function(J){if(!this.length){A("ajaxSubmit: skipping submit process - no element selected");return this}if(typeof J=="function"){J={success:J}}var D=this.attr("action")||window.location.href;D=(D.match(/^([^#]+)/)||[])[1];D=D||"";J=B.extend({url:D,type:this.attr("method")||"GET"},J||{});var O={};this.trigger("form-pre-serialize",[this,J,O]);if(O.veto){A("ajaxSubmit: submit vetoed via form-pre-serialize trigger");return this}if(J.beforeSerialize&&J.beforeSerialize(this,J)===false){A("ajaxSubmit: submit aborted via beforeSerialize callback");return this}var K=this.formToArray(J.semantic);if(J.data){J.extraData=J.data;for(var G in J.data){if(J.data[G] instanceof Array){for(var H in J.data[G]){K.push({name:G,value:J.data[G][H]})}}else{K.push({name:G,value:J.data[G]})}}}if(J.beforeSubmit&&J.beforeSubmit(K,this,J)===false){A("ajaxSubmit: submit aborted via beforeSubmit callback");return this}this.trigger("form-submit-validate",[K,this,J,O]);if(O.veto){A("ajaxSubmit: submit vetoed via form-submit-validate trigger");return this}var E=B.param(K);if(J.type.toUpperCase()=="GET"){J.url+=(J.url.indexOf("?")>=0?"&":"?")+E;J.data=null}else{J.data=E}var P=this,F=[];if(J.resetForm){F.push(function(){P.resetForm()})}if(J.clearForm){F.push(function(){P.clearForm()})}if(!J.dataType&&J.target){var M=J.success||function(){};F.push(function(Q){B(J.target).html(Q).each(M,arguments)})}else{if(J.success){F.push(J.success)}}J.success=function(T,S){for(var R=0,Q=F.length;R<Q;R++){F[R].apply(J,[T,S,P])}};var C=B("input:file",this).fieldValue();var N=false;for(var I=0;I<C.length;I++){if(C[I]){N=true}}if(J.iframe||N){if(J.closeKeepAlive){B.get(J.closeKeepAlive,L)}else{L()}}else{B.ajax(J)}this.trigger("form-submit-notify",[this,J]);return this;function L(){var S=P[0];if(B(":input[name=submit]",S).length){alert('Error: Form elements must not be named "submit".');return }var R=B.extend({},B.ajaxSettings,J);var e=jQuery.extend(true,{},B.extend(true,{},B.ajaxSettings),R);var T="jqFormIO"+(new Date().getTime());var Z=B('<iframe id="'+T+'" name="'+T+'" src="about:blank" />');var b=Z[0];Z.css({position:"absolute",top:"-1000px",left:"-1000px"});var d={aborted:0,responseText:null,responseXML:null,status:0,statusText:"n/a",getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){},abort:function(){this.aborted=1;Z.attr("src","about:blank")}};var a=R.global;if(a&&!B.active++){B.event.trigger("ajaxStart")}if(a){B.event.trigger("ajaxSend",[d,R])}if(e.beforeSend&&e.beforeSend(d,e)===false){e.global&&jQuery.active--;return }if(d.aborted){return }var c=0;var Y=0;var Q=S.clk;if(Q){var U=Q.name;if(U&&!Q.disabled){J.extraData=J.extraData||{};J.extraData[U]=Q.value;if(Q.type=="image"){J.extraData[name+".x"]=S.clk_x;J.extraData[name+".y"]=S.clk_y}}}setTimeout(function(){var h=P.attr("target"),f=P.attr("action");S.setAttribute("target",T);if(S.getAttribute("method")!="POST"){S.setAttribute("method","POST")}if(S.getAttribute("action")!=R.url){S.setAttribute("action",R.url)}if(!J.skipEncodingOverride){P.attr({encoding:"multipart/form-data",enctype:"multipart/form-data"})}if(R.timeout){setTimeout(function(){Y=true;V()},R.timeout)}var g=[];try{if(J.extraData){for(var i in J.extraData){g.push(B('<input type="hidden" name="'+i+'" value="'+J.extraData[i]+'" />').appendTo(S)[0])}}Z.appendTo("body");b.attachEvent?b.attachEvent("onload",V):b.addEventListener("load",V,false);S.submit()}finally{S.setAttribute("action",f);h?S.setAttribute("target",h):P.removeAttr("target");B(g).remove()}},10);var W=0;function V(){if(c++){return }b.detachEvent?b.detachEvent("onload",V):b.removeEventListener("load",V,false);var g=true;try{if(Y){throw"timeout"}var h,j;j=b.contentWindow?b.contentWindow.document:b.contentDocument?b.contentDocument:b.document;if((j.body==null||j.body.innerHTML=="")&&!W){W=1;c--;setTimeout(V,100);return }d.responseText=j.body?j.body.innerHTML:null;d.responseXML=j.XMLDocument?j.XMLDocument:j;d.getResponseHeader=function(k){var l={"content-type":R.dataType};return l[k]};if(R.dataType=="json"||R.dataType=="script"){var f=j.getElementsByTagName("textarea")[0];d.responseText=f?f.value:d.responseText}else{if(R.dataType=="xml"&&!d.responseXML&&d.responseText!=null){d.responseXML=X(d.responseText)}}h=B.httpData(d,R.dataType)}catch(i){g=false;B.handleError(R,d,"error",i)}if(g){R.success(h,"success");if(a){B.event.trigger("ajaxSuccess",[d,R])}}if(a){B.event.trigger("ajaxComplete",[d,R])}if(a&&!--B.active){B.event.trigger("ajaxStop")}if(R.complete){R.complete(d,g?"success":"error")}setTimeout(function(){Z.remove();d.responseXML=null},100)}function X(f,g){if(window.ActiveXObject){g=new ActiveXObject("Microsoft.XMLDOM");g.async="false";g.loadXML(f)}else{g=(new DOMParser()).parseFromString(f,"text/xml")}return(g&&g.documentElement&&g.documentElement.tagName!="parsererror")?g:null}}};B.fn.ajaxForm=function(C){return this.ajaxFormUnbind().bind("submit.form-plugin",function(){B(this).ajaxSubmit(C);return false}).each(function(){B(":submit,input:image",this).bind("click.form-plugin",function(E){var D=this.form;D.clk=this;if(this.type=="image"){if(E.offsetX!=undefined){D.clk_x=E.offsetX;D.clk_y=E.offsetY}else{if(typeof B.fn.offset=="function"){var F=B(this).offset();D.clk_x=E.pageX-F.left;D.clk_y=E.pageY-F.top}else{D.clk_x=E.pageX-this.offsetLeft;D.clk_y=E.pageY-this.offsetTop}}}setTimeout(function(){D.clk=D.clk_x=D.clk_y=null},10)})})};B.fn.ajaxFormUnbind=function(){this.unbind("submit.form-plugin");return this.each(function(){B(":submit,input:image",this).unbind("click.form-plugin")})};B.fn.formToArray=function(N){var M=[];if(this.length==0){return M}var D=this[0];var I=N?D.getElementsByTagName("*"):D.elements;if(!I){return M}for(var J=0,K=I.length;J<K;J++){var E=I[J];var G=E.name;if(!G){continue}if(N&&D.clk&&E.type=="image"){if(!E.disabled&&D.clk==E){M.push({name:G+".x",value:D.clk_x},{name:G+".y",value:D.clk_y})}continue}var O=B.fieldValue(E,true);if(O&&O.constructor==Array){for(var H=0,C=O.length;H<C;H++){M.push({name:G,value:O[H]})}}else{if(O!==null&&typeof O!="undefined"){M.push({name:G,value:O})}}}if(!N&&D.clk){var F=D.getElementsByTagName("input");for(var J=0,K=F.length;J<K;J++){var L=F[J];var G=L.name;if(G&&!L.disabled&&L.type=="image"&&D.clk==L){M.push({name:G+".x",value:D.clk_x},{name:G+".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(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,N=D.type,O=D.tagName.toLowerCase();if(typeof E=="undefined"){E=true}if(E&&(!F||D.disabled||N=="reset"||N=="button"||(N=="checkbox"||N=="radio")&&!D.checked||(N=="submit"||N=="image")&&D.form&&D.form.clk!=D||O=="select"&&D.selectedIndex==-1)){return null}if(O=="select"){var J=D.selectedIndex;if(J<0){return null}var L=[],C=D.options;var H=(N=="select-one");var K=(H?J+1:C.length);for(var G=(H?J:0);G<K;G++){var I=C[G];if(I.selected){var M=I.value;if(!M){M=(I.attributes&&I.attributes.value&&!(I.attributes.value.specified))?I.text:I.value}if(H){return M}L.push(M)}}return L}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&&window.console&&window.console.log){window.console.log("[jquery.form] "+Array.prototype.join.call(arguments,""))}}})(jQuery);
/**
 * jQuery Default Value Plugin v1.0
 * Progressive enhancement technique for inital input field values
 * The MIT License
 * Copyright (c) 2007 Paul Campbell (pauljamescampbell.co.uk)
*/
(function(A){A.fn.defaultvalue=function(){var C=this;var B=arguments;var D=0;return(C.each(function(){var E=A(this);var F=B[D];E.val(F).focus(function(){if(E.val()==F){E.val("")}E.blur(function(){if(E.val()==""){E.val(F)}})})}))}})(jQuery);
