
var SitePageFormHandler=Class.create({initialize:function(form)
{this.url=window.location.href;this.form=form;this.is_valid=true;this.redirect=true;},parseTinyMCE:function()
{tinyMCE.execCommand('mceRemoveControl',true,'MessageContent');tinyMCE.triggerSave();},_updateFields:function(fields)
{if(fields['invalid'].length>0)
{fields['invalid'].each(function(o,i)
{if($(o))
{if($(o).type!==undefined&&$(o).type!='hidden')
{$(o+"_error").show();$(o+"_highlight").addClassName('invalid');}}
else
{checkRadio=$$('input[name="'+o+'"]');if(checkRadio.length==0)
{checkRadio=$$('input[name="'+o+'[]"]');}
if(checkRadio.length>0)
{checkRadio.each(function(p,k)
{$(o+"_error").show();$(o+"_highlight").addClassName('invalid');});}}});}
if(fields['valid'].length>0)
{fields['valid'].each(function(o,i)
{if($(o))
{if($(o).type!==undefined&&$(o).type!=='hidden')
{$(o+"_error").hide();$(o+"_highlight").removeClassName('invalid');}}
else
{checkRadio=$$('input[name="'+o+'"]');if(checkRadio.length==0)
{checkRadio=$$('input[name="'+o+'[]"]');}
if(checkRadio.length>0)
{checkRadio.each(function(p,k)
{$(o+"_error").hide();$(o+"_highlight").removeClassName('invalid');});}}});}},_processValidation:function(fields)
{if(fields['invalid'].length>0)
{this.is_valid=false;}
this._updateFields(fields);},submit:function(mode)
{var _this=this;var ajax_mode=mode=='validate_and_process'?'validate':mode;var obj=$(this.form+'_form').serialize(true);var par=Object.toJSON(obj);var myAjax=new Ajax.Request(this.url,{method:'post',parameters:{'form':this.form,'mode':ajax_mode,'pars':par},onComplete:function(response)
{var fields=response.headerJSON;switch(mode)
{case'validate':_this._processValidation(fields);_this.onCompleteValidate(i);break;case'process':if(_this.redirect)
{window.location=response.headerJSON;}
break;case'validate_and_process':_this._processValidation(fields);_this.onCompleteSubmit();break;}}});}});
