function replaceContentIfNoJSONResponse(b,a,c){if(a.responseJSON)$(b).processSaveResults(a,c);else{$(Windows.getFocusedWindow().getContent()).update(GetAllContentFromResponseText(a));Windows.getFocusedWindow().setSize(418,500)}}function GetAllContentFromResponse(a){return a.responseJSON.Static[0].Content}function GetAllContentFromResponseText(a){return a.responseText}Form.Methods.AjaxSaveForm=function(a,h,g){a=$(a);for(var d=[],c={},f=a.getElements(),e=0,i=f.length;e<i;++e){var b=f[e];if(name=b.name.gsub(/.*\$/,""))if("radio"==b.type){if(typeof c[name]=="undefined")c[name]="null";if(b.checked)c[name]=b.value}else d.unshift(encodeURIComponent(name)+"="+encodeURIComponent(b.trueValue()))}$H(c).each(function(a){d.unshift(encodeURIComponent(a.key)+"="+a.value)});new Ajax.Request(a.action,{method:a.method,parameters:d.join("&"),onSuccess:h,onFailure:g});return a};Form.Methods.processSaveResults=function(a,c,b){a=$(a);if(b!=null||(b=c.responseJSON)){b.Error.each(function(b){b.DoShow?a.showError(b.ClassName):a.hideError(b.ClassName);b.Content&&a.writeError(b.ClassName,b.Content)});b.Message.each(function(b){b.DoShow?a.showMessage(b.ClassName):a.hideMessage(b.ClassName);b.Content&&a.writeMessage(b.ClassName,b.Content)});b.Static.each(function(b){b.DoShow?a.showStaticView(b.ClassName):a.hideStaticView(b.ClassName);b.Content&&a.writeStaticView(b.ClassName,b.Content)});b.Edit.each(function(b){b.DoShow?a.showEditView(b.ClassName):a.hideEditView(b.ClassName);b.Content&&a.writeEditView(b.ClassName,b.Content)});if(b.PostScript)eval(b.PostScript)}return a};Form.Methods.writeFailure=function(a){a=$(a);var b=a.select(".AJAXfailure")[0]||a.insert({top:new Element("div",{"class":"AJAXfailure"})}).select(".AJAXfailure")[0];$(b).update("There was an error while submitting the form. Please try again in a few minutes.");a.showFailure();return a};Form.Methods.save=function(a,b){a=$(a);a.hideError("").hideFailure("");var c=b?b.curry(a.identify()):Form.processSaveResults.curry(a.identify());(!a.validator||a.validator.validate())&&a.AjaxSaveForm(c,Form.writeFailure.curry(a.identify()));return a};Form.Methods.writeError=function(b,a,d){b=$(b);var c=b.select(".error"+(a?".":"")+a);if(0==c.length)c=b.insert({top:new Element("div",{"class":"error"+(a?".":"")+a})}).select(".error"+(a?".":"")+a);c.invoke("update",d);return b};Form.Methods.writeMessage=function(b,a,d){b=$(b);var c=b.select(".message"+(a?".":"")+a);if(0==c.length)c=b.insert({top:new Element("div",{"class":"message"+(a?".":"")+a})}).select(".message"+(a?".":"")+a);c.invoke("update",d);return b};Form.Methods.writeStaticView=function(b,a,d){b=$(b);var c=b.select(".staticView"+(a?".":"")+a);if(0==c.length)c=b.insert({top:new Element("div",{"class":"staticView"+(a?".":"")+a})}).select(".staticView"+(a?".":"")+a);c.invoke("update",d);return b};Form.Methods.writeEditView=function(b,a,d){b=$(b);var c=b.select(".editView"+(a?".":"")+a);if(0==c.length)c=b.insert({top:new Element("div",{"class":"editView"+(a?".":"")+a})}).select(".editView"+(a?".":"")+a);c.invoke("update",d);return b};Form.Methods.showFailure=function(a){a=$(a);a.select(".AJAXfailure")[0].style.display="block";a.addClassName("failureView");return a};Form.Methods.showError=function(a,b){a=$(a);a.select(".error"+(b?".":"")+b).invoke("show");a.addClassName("errorView");return a};Form.Methods.showMessage=function(a,b){a=$(a);a.select(".message"+(b?".":"")+b).invoke("show");a.addClassName("messageView");return a};Form.Methods.showStaticView=function(a,b){a=$(a);a.select(".staticView"+(b?".":"")+b).invoke("show");a.removeClassName("editView").addClassName("staticView");return a};Form.Methods.showEditView=function(a,b){a=$(a);a.select(".editView"+(b?".":"")+b).invoke("show");a.removeClassName("staticView").addClassName("editView");return a};Form.Methods.hideFailure=function(a){a=$(a);var b=a.select(".AJAXfailure")[0]||a.insert({top:new Element("div",{"class":"AJAXfailure"})}).select(".AJAXfailure")[0];if(b!=null)b.style.display="none";a.removeClassName("failureView");return a};Form.Methods.hideError=function(a,b){a=$(a);a.select(".error"+(b?".":"")+b).invoke("hide");a.removeClassName("errorView");return a};Form.Methods.hideMessage=function(a,b){a=$(a);a.select(".message"+(b?".":"")+b).invoke("hide");a.removeClassName("messageView");return a};Form.Methods.hideStaticView=function(a,b){a=$(a);a.select(".staticView"+(b?".":"")+b).invoke("hide");a.removeClassName("staticView");return a};Form.Methods.hideEditView=function(a,b){a=$(a);a.select(".editView"+(b?".":"")+b).invoke("hide");a.removeClassName("editView");return a};Form.Methods.edit=function(a){a=$(a);a.hideStaticView().hideFailure().hideError().showEditView();a.select(".editView")[0].select("input[type~=text]","input[type~=checkbox]","input[type~=radio]","select","textarea").each(function(a){a.writeAttribute("init",a.trueValue())})};Form.Methods.cancel=function(a){a=$(a);a.hideEditView().hideFailure().hideError().showStaticView();a.validator&&a.validator.reset();a.select(".editView")[0].select("input[type~=text]","input[type~=checkbox]","input[type~=radio]","select","textarea").each(function(b){var a=b.readAttribute("init");a&&b.trueValue(a)})};Form.Element.Methods.trueValue=function(a,b){var d=a.getTag(),c=a.type;if("input"==d&&("radio"==c||"checkbox"==c)){if(typeof b!="undefined")b=="true"?(a.checked=true):(a.checked=false);return a.checked+""}else if("select"==d&&"multiple"==a.readAttribute("multiple")){if(typeof b!="undefined"){var e=b.split(",");a.selectedIndex=-1;$A(a.options).findAll(function(a){return e.include(a.value)}).each(function(a){a.selected=true})}return $A(a.options).findAll(function(a){return a.selected}).pluck("value").join(",")}else{if(typeof b!="undefined")a.value=b;return a.value}};Element.addMethods()
