Denbel.load('util.XmlHelper');Denbel.util.XmlHelper={nodeTypeToString:new Array
('unknown','element','attribute','text','cdata','entity_ref','entity','process','comment','document','doctype','docfrag','notation'),importNode:function(el,parent)
{if(!el)
{return;}
var i=null;var node=document.createElement(el.nodeName);for(i=0;i<el.attributes.length;i++)
{if(!el.attributes[i].name||!el.attributes[i].value||el.attributes[i].value=='null')
{continue;}
node.setAttribute(el.attributes[i].name,el.attributes[i].value);}
var children=el.childNodes;var type=null;for(i=0;i<children.length;i++)
{type=children[i].nodeType;switch(type)
{case 1:Denbel.util.XmlHelper.importNode(children[i],node);break;case 3:case 4:node.appendChild(document.createTextNode(children[i].nodeValue));break;}}
node.nodeValue=el.nodeValue;parent.appendChild(node);},stringToXml:function(string,type)
{if(!type)
{type='text/xml';}
if(!string||string=='')
{YAHOO.log('Empty string given to convert to XML!','error');return null;}
var doc=null;if(window.ActiveXObject)
{doc=new ActiveXObject('MSXML2.DOMDocument');doc.async=false;doc.loadXML(string);}
else
{if(type=='application/xhtml+xml')
{string='<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">'+string;}
var parser=new DOMParser();doc=parser.parseFromString(string,type);}
if(doc.documentElement.tagName.toLowerCase()=='parsererror')
{throw Error('Unable to parse string');}
return doc;},createXmlDocument:function(version,encoding)
{if(!version)
{version='1.0';}
if(!encoding)
{encoding='utf-8';}
var rootTagName=null;if(document.implementation&&document.implementation.createDocument)
{return document.implementation.createDocument(null,null,null);}
else
{var doc=new ActiveXObject('MSXML2.DOMDocument');doc.async=false;if(rootTagName)
{var prefix='';var tagname=rootTagName;var p=rootTagName.indexOf(':');if(p!=-1)
{prefix=rootTagName.substring(0,p);tagname=rootTagName.substring(p+1);}
if(namespaceURL)
{if(!prefix)
{prefix='a0';}}
else
{prefix='';}
var text='<'+(prefix?(prefix+':'):'')+tagname+(namespaceURL?(' xmlns:'+prefix+'="'+namespaceURL+'"'):'')+'/>';doc.loadXML(text);}
return doc;}},xmlToString:function(dom,type)
{if(!dom)
{return null;}
if(!type)
{type='text/xml';}
var s=null;if(Denbel.util.BrowserDetect.browser=='Explorer')
{s=dom.xml;}
else
{try
{switch(type)
{case'text/xml':var xml=new XMLSerializer();s=xml.serializeToString(dom);break;default:YAHOO.log('Unrecognized XML type to convert to string','error');break;}}
catch(e)
{YAHOO.log(e,'error');s=null;}}
return s;},elementToString:function(el)
{var i=0;var tagName=el.tagName.toLowerCase();var s='<'+tagName;for(i=0;i<el.attributes.length;i++)
{if(!el.attributes[i].name||!el.attributes[i].value||el.attributes[i].value=='null')
{continue;}
s+=' '+el.attributes[i].name+'="'+el.attributes[i].value+'"';}
s+='>';var children=el.childNodes;var type=null;for(i=0;i<children.length;i++)
{type=children[i].nodeType;switch(type)
{case 1:s+=Denbel.util.XmlHelper.elementToString(children[i]);break;case 3:case 4:s+=children[i].nodeValue;break;}}
if(el.nodeValue)
{s+=el.nodeValue;}
s+='</'+tagName+'>';return s;},getNextChildElementType:function(start,type)
{if(!start||!type||!YAHOO.lang.isArray(type))
{return null;}
var children=start.childNodes;var el=null;if(!children||children.length==0)
{return null;}
for(var i=0;i<children.length;i++)
{if(Denbel.util.inArray(Denbel.util.XmlHelper.nodeTypeToString[children[i].nodeType],type))
{el=children[i];break;}}
return el;},getNextChildElement:function(start)
{return Denbel.util.XmlHelper.getNextChildElementType(start,new Array('element'));},getNextChildElementByTagName:function(start,tagName)
{if(!start||!tagName)
{return null;}
var node=null;for(var i=0;i<start.childNodes.length;i++)
{if(start.childNodes[i].tagName==tagName)
{node=start.childNodes[i];break;}}
return node;},getNextChildElementByClassName:function(start,className)
{if(!start||!className)
{return null;}
var node=null;for(var i=0;i<start.childNodes.length;i++)
{if(YAHOO.util.Dom.hasClass(start.childNodes[i],className))
{node=start.childNodes[i];break;}}
return node;},getElementValue:function(element)
{var node=Denbel.util.XmlHelper.getNextChildElementType(element,['text','cdata']);if(node)
{return node.nodeValue;}
return'';},getNextChildTextValue:function(start)
{YAHOO.log('Using deprecated function getNextChildTextValue','warn','Denbel.util.XmlHelper');return Denbel.util.XmlHelper.getElementValue(start);},moveNode:function(node,parent)
{if(!node||!parent)
{return false;}
if(YAHOO.lang.isString(node))
{node=YAHOO.util.Dom.get(node);}
if(YAHOO.lang.isString(parent))
{parent=YAHOO.util.Dom.get(parent);}
var nodeString=Denbel.util.XmlHelper.elementToString(node);node.parentNode.removeChild(node);parent.appendChild(node);}};Denbel.load('util.FormValidatorManager');Denbel.load('util.FormValidator');Denbel.load('util.FieldValidator');Denbel.util.FormValidatorManager={items:new Denbel.lang.Object(),set:function(id,fv)
{Denbel.util.FormValidatorManager.items.set(id,fv);},get:function(id)
{return Denbel.util.FormValidatorManager.items.get(id);}};Denbel.util.FormValidator=function(form,config)
{if(YAHOO.lang.isString(form))
{form=YAHOO.util.Dom.get(form);}
if(!form)
{YAHOO.log('FormValidator needs a form to work with','error','Denbel.util.FormValidator');return;}
this.form=form;this.config=new Denbel.lang.Object();if(config.blur)
{this.config.set('blur',config.blur);}
if(config.errorContainer)
{this.config.set('errorContainer',config.errorContainer);}
if(!YAHOO.lang.isUndefined(config.useEffect))
{this.config.set('useEffect',config.useEffect);}
else
{this.config.set('useEffect',false);}
if(!YAHOO.lang.isUndefined(config.invisibles))
{this.config.set('invisibles',config.invisibles);}
else
{this.config.set('invisibles',true);}
this.init();Denbel.util.FormValidatorManager.set(YAHOO.util.Dom.getAttribute(form,'id'),this);};Denbel.util.FormValidator.types=['required','email','alpha','numeric','maxlen','minlen','minnum','maxnum','phone','ip','url','match','uripart','remote','custom'];Denbel.util.FormValidator.TYPE_REQUIRED='required';Denbel.util.FormValidator.TYPE_EMAIL='email';Denbel.util.FormValidator.TYPE_ALPHA='alpha';Denbel.util.FormValidator.TYPE_NUMERIC='numeric';Denbel.util.FormValidator.TYPE_MAXLEN='maxlen';Denbel.util.FormValidator.TYPE_MAXNUM='maxnum';Denbel.util.FormValidator.TYPE_MINNUM='minnum';Denbel.util.FormValidator.TYPE_MAXIMUM='maxlen';Denbel.util.FormValidator.TYPE_MINLEN='minlen';Denbel.util.FormValidator.TYPE_MINIMUM='minlen';Denbel.util.FormValidator.TYPE_PHONE='phone';Denbel.util.FormValidator.TYPE_IPADDRESS='ip';Denbel.util.FormValidator.TYPE_IP='ip';Denbel.util.FormValidator.TYPE_URL='url';Denbel.util.FormValidator.TYPE_URIPART='uripart';Denbel.util.FormValidator.TYPE_MATCH='match';Denbel.util.FormValidator.TYPE_REMOTE='remote';Denbel.util.FormValidator.TYPE_RPC='remote';Denbel.util.FormValidator.TYPE_CUSTOM='custom';Denbel.util.FormValidator.EXP_MAIL=new RegExp(/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$/i);Denbel.util.FormValidator.EXP_ALPHA=new RegExp(/^[a-z]+$/i);Denbel.util.FormValidator.EXP_NUMERIC=new RegExp(/^[0-9\.\-]+$/);Denbel.util.FormValidator.EXP_PHONE=new RegExp(/(\+\d)*\s*(\(\d{3}\)\s*)*\d{3}(-{0,1}|\s{0,1})\d{2}(-{0,1}|\s{0,1})\d{2}$/);Denbel.util.FormValidator.EXP_IP=new RegExp(/^\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b$/);Denbel.util.FormValidator.EXP_URL=new RegExp(/^http(s)?:\/\/([a-z0-9\-\.])+$/i);Denbel.util.FormValidator.EXP_URIPART=new RegExp(/^([a-z0-9\-\+])+$/i);Denbel.util.FormValidator.getFieldLabel=function(field)
{if(YAHOO.lang.isString(field))
{field=YAHOO.util.Dom.get(field);}
if(!field)
{return null;}
var labels=document.getElementsByTagName('label');var fieldId=field.getAttribute('id');var node=null;for(var i=0;i<labels.length;i++)
{if(labels[i].getAttribute('for')==fieldId||labels[i].getAttribute('id')==fieldId+'_label')
{if(labels[i].childNodes.length>1)
{node=labels[i].childNodes[1];}
else
{node=labels[i];}
return Denbel.util.XmlHelper.getElementValue(node);}}
return null;};Denbel.util.FormValidator.exec=function(val,silent,obj)
{if(val.type!='remote')
{return Denbel.util.FormValidator.check(val.getFieldValue(),val.type,val.extra,obj);}
var rpc=new Denbel.rpc.XmlRpcClient();var msg=rpc.createMessage(val.extra.method);msg.createAndAddParameter(val.getFieldValue());if(val.extra.params)
{msg.createAndAddParameter(val.extra.params);}
var fire=true;if(silent)
{fire=false;}
if(val.isInService)
{return;}
val.isInService=true;rpc.callService(msg,{success:function(res)
{res.argument.validator.isInService=false;res.argument.validator.inProgress=false;res.argument.validator.isCompleted=true;res.argument.validator.error=false;if(res.data[0]==false)
{res.argument.validator.setError();}
else
{res.argument.validator.setValid();}
if(res.argument.fire)
{res.argument.validator.completeEvent.fire({obj:res.argument.validator,result:true,source:this});}},failure:function(res)
{res.argument.validator.isInService=false;res.argument.validator.inProgress=false;res.argument.validator.isCompleted=true;res.argument.validator.error=true;res.argument.validator.setError(res.fault.get('faultString'));if(res.argument.fire)
{res.argument.validator.completeEvent.fire({obj:res.argument.validator,result:false,source:this});}},argument:{validator:val,fire:fire}});};Denbel.util.FormValidator.check=function(value,type,o,obj)
{var c=false;switch(type)
{case'required':c=(value!='');break;case'email':c=Denbel.util.FormValidator.EXP_MAIL.test(value);break;case'alpha':c=Denbel.util.FormValidator.EXP_ALPHA.test(value);break;case'numeric':c=Denbel.util.FormValidator.EXP_NUMERIC.test(value);break;case'maxlen':c=(value.length<=o);break;case'minlen':c=(value.length>=o);break;case'maxnum':c=(parseInt(value)<=parseInt(o));break;case'minnum':c=(parseInt(value)>=parseInt(o));break;case'phone':c=Denbel.util.FormValidator.EXP_PHONE.test(value);break;case'ip':c=Denbel.util.FormValidator.EXP_IP.test(value);break;case'url':c=Denbel.util.FormValidator.EXP_URL.test(value);break;case'uripart':c=Denbel.util.FormValidator.EXP_URIPART.test(value);break;case'match':if(YAHOO.lang.isString(o))
{c=(value==o);}
else if(YAHOO.lang.isObject(o))
{c=(value==o.value);}
break;case'custom':if(YAHOO.lang.isFunction(o))
{c=o.call(this,value,obj);}
break;}
return c;};Denbel.util.FormValidator.prototype={form:null,validators:null,allComplete:false,config:null,init:function()
{this.validators=new Array();var elements=this.form.elements;var types=Denbel.util.FormValidator.types;var j=null;var ext=null;var obj=null;for(var i=0;i<elements.length;i++)
{if(elements[i]==null)
{continue;}
for(j=0;j<types.length;j++)
{if(YAHOO.util.Dom.hasClass(elements[i],types[j]))
{ext=null;switch(types[j])
{case'maxlen':ext=parseInt(elements[i].getAttribute('maxlength'));break;case'minlen':ext=null;break;case'match':ext=null;break;}
obj=new Denbel.util.FieldValidator(elements[i],types[j],null,ext);obj.parent=this;if(!obj.apply())
{continue;}
if(this.config.get('blur'))
{YAHOO.util.Event.on(elements[i],'focusout',function(e,o)
{YAHOO.util.Event.stopEvent(e);var vals=o.getValidatorsByField(this);for(var i=0;i<vals.length;i++)
{if(!vals[i].validate())
{break;}}},this);}
this.validators.push(obj);}}}
return true;},isValidType:function(type)
{return Denbel.util.inArray(type,Denbel.util.FormValidator.types);},addValidator:function(field,type,message,o,arg)
{return this.addValidation(field,type,message,o,arg);},addValidation:function(field,type,message,o,arg)
{if(!this.isValidType(type))
{YAHOO.log('Incorrect validation type','error','Denbel.util.FormValidator');return false;}
if(this.hasValidator(field,type))
{this.removeValidator(field,type);}
var val=new Denbel.util.FieldValidator(field,type,message,o);val.parent=this;if(!val.apply())
{return false;}
if(this.config.get('blur'))
{YAHOO.util.Event.removeListener(field,'focusout');YAHOO.util.Event.on(field,'focusout',function(e,o)
{YAHOO.util.Event.stopEvent(e);var vals=o.fv.getValidatorsByField(this);for(var i=0;i<vals.length;i++)
{if(!vals[i].validate(o.obj))
{break;}}},{fv:this,obj:arg});}
this.validators.push(val);return true;},removeValidator:function(field,type)
{return this.removeValidation(field,type);},removeValidation:function(field,type)
{if(YAHOO.lang.isString(field))
{field=YAHOO.util.Dom.get(field);}
if(!field)
{return;}
var val=null;var i=0;for(i=0;i<this.validators.length;i++)
{val=this.validators[i];if(val.field==field&&val.type==type)
{this.validators[i]=null;break;}}
var vals=this.validators;this.validators=new Array();for(i=0;i<vals.length;i++)
{if(vals[i]!=null)
{this.validators.push(vals[i]);}}},hasValidator:function(field,type)
{if(YAHOO.lang.isString(field))
{field=YAHOO.util.Dom.get(field);}
if(!field)
{return false;}
var val=null;for(var i=0;i<this.validators.length;i++)
{val=this.validators[i];if(val.field==field&&val.type==type)
{return true;}}
return false;},getValidatorsByField:function(field)
{if(YAHOO.lang.isString(field))
{field=YAHOO.util.Dom.get(field);}
if(!field)
{return null;}
if(!this.validators)
{this.validators=new Array();return null;}
var vals=[];for(var i=0;i<this.validators.length;i++)
{if(this.validators[i].field==field)
{vals.push(this.validators[i]);}}
return vals;},invalidate:function(field)
{var fv=this.getValidatorsByField(field);if(!fv||fv.length==0)
{return false;}
fv[0].setError();return true;},invalidateAll:function()
{for(var i=0;i<this.validators.length;i++)
{this.invalidate(this.validators[i].field);}
return true;},reset:function(clear)
{for(var i=0;i<this.validators.length;i++)
{this.validators[i].completeEvent.unsubscribeAll();if(clear===true)
{this.validators[i].clear();}}
return true;},onComplete:function(e,o)
{if(o.waitForAll&&e.obj==e.source)
{return;}
var self=o.parent;var callback=o.callback;var allComplete=true;var error=false;for(var i=0;i<self.validators.length;i++)
{if(!self.validators[i].isCompleted)
{allComplete=false;break;}
if(self.validators[i].error)
{error=true;}}
if(allComplete&&e.obj!=e.source)
{if(error)
{callback.failure.call(self,{argument:callback.argument});}
else
{callback.success.call(self,{argument:callback.argument});}}},hasInvalidValue:function(field)
{var vals=this.getValidatorsByField(field);for(var i=0;i<vals.length;i++)
{if(vals[i].error)
{return true;}}
return false;},validate:function(callback,invisibles)
{var ok=true;var wait=false;if(!this.validators)
{return;}
if(invisibles!==true&&invisibles!==false)
{invisibles=this.config.get('invisibles');}
var invalids=[];for(var i=0;i<this.validators.length;i++)
{if(!invisibles&&!Denbel.util.isVisible(this.validators[i].field))
{continue;}
if(this.hasInvalidValue(this.validators[i].field))
{ok=false;if(!this.config.get('errorContainer')||YAHOO.lang.isUndefined(this.config.get('errorContainer')))
{continue;}}
if(!this.validators[i].validate()&&this.validators[i].type!=Denbel.util.FormValidator.TYPE_RPC)
{ok=false;if(this.config.get('errorContainer'))
{break;}}
if(this.validators[i].getFieldValue()!=''&&this.validators[i].type==Denbel.util.FormValidator.TYPE_RPC)
{wait=true;this.validators[i].completeEvent.unsubscribeAll();this.validators[i].completeEvent.subscribe(this.onComplete,{parent:this,callback:callback,validator:this.validators[i],waitForAll:true});}}
if(!wait)
{if(ok)
{callback.success.call(this,{argument:callback.argument});}
else
{callback.failure.call(this,{argument:callback.argument});}}},toString:function()
{return'Denbel.util.FormValidator';}};Denbel.util.FieldValidator=function(field,type,message,o)
{if(YAHOO.lang.isString(field))
{field=YAHOO.util.Dom.get(field);}
if(!field)
{YAHOO.log('FieldValidator needs a field to work with','error','Denbel.util.FieldValidator');return;}
if(!Denbel.util.inArray(type,Denbel.util.FormValidator.types))
{YAHOO.log('Incorrect validation type','error','Denbel.util.FieldValidator');return;}
this.field=field;this.type=type;if(!message)
{message='';}
this.message=message;if(o===null)
{o=null;}
this.extra=o;};Denbel.util.FieldValidator.prototype={completeEvent:(new YAHOO.util.CustomEvent('completed',this,true,YAHOO.util.CustomEvent.FLAT)),field:null,fieldId:null,parent:null,container:null,type:null,message:null,extra:null,inProgress:false,isInService:false,isCompleted:false,error:false,opaque:0.9,reset:function()
{this.apply();},apply:function()
{if(this.type=='maxlen'&&this.extra!=null)
{this.field.setAttribute('maxlength',this.extra.toString());}
else
{if(!YAHOO.util.Dom.hasClass(this.field,this.type))
{YAHOO.util.Dom.addClass(this.field,this.type);}}
if(this.field==null)
{return false;}
this.fieldId=this.field.getAttribute('id');var mainEl=this.field;var parent=this.field.parentNode;if(parent.tagName.toLowerCase()!='fieldset')
{this.container=parent;mainEl=this.container;}
var span=null;if(this.parent.config.get('errorContainer'))
{span=YAHOO.util.Dom.get(this.parent.config.get('errorContainer'));span.innerHTML='';}
else
{if(!YAHOO.util.Dom.inDocument(this.field.getAttribute('id')+'-info'))
{span=YAHOO.util.Dom.getNextSibling(mainEl);if(span&&span.tagName.toLowerCase()=='span')
{span.innerHTML='';span.setAttribute('id',this.field.getAttribute('id')+'-info');YAHOO.util.Dom.addClass(span,'error-field');YAHOO.util.Dom.setStyle(span,'display','none');}
else
{span=document.createElement('span');span.setAttribute('id',this.field.getAttribute('id')+'-info');span.setAttribute('class','error-field');span.setAttribute('style','display:none;');YAHOO.util.Dom.insertAfter(span,mainEl);}}
else
{span=YAHOO.util.Dom.get(this.field.getAttribute('id')+'-info');if(span)
{span.innerHTML='';}}}
return true;},clear:function()
{var mainEl=this.field;if(this.container)
{mainEl=this.container;}
var parent=mainEl.parentNode;var span=null;if(this.parent.config.get('errorContainer'))
{span=YAHOO.util.Dom.get(this.parent.config.get('errorContainer'));}
else
{span=YAHOO.util.Dom.get(this.field.getAttribute('id')+'-info');}
YAHOO.util.Dom.setStyle(span,'display','none');span.innerHTML='';this.isCompleted=true;this.inProgress=false;this.error=false;},getFieldValue:function()
{return this.field.value;},setError:function(msg)
{this.isCompleted=true;this.inProgress=false;this.error=true;var mainEl=this.field;if(this.container)
{mainEl=this.container;}
if(!msg)
{msg=this.message;}
var parent=mainEl.parentNode;var span=null;if(this.parent.config.get('errorContainer'))
{span=YAHOO.util.Dom.get(this.parent.config.get('errorContainer'));}
else
{span=YAHOO.util.Dom.get(this.field.getAttribute('id')+'-info');if(this.parent.config.get('useEffect')&&YAHOO.util.Dom.getStyle(span,'opacity')!=this.opaque)
{YAHOO.util.Dom.setStyle(span,'opacity','0');YAHOO.util.Dom.setStyle(span,'display','');var anim=new YAHOO.util.Anim(span,{opacity:{from:0.0,to:this.opaque}},0.7);anim.onStart.subscribe(function(e,o,p)
{YAHOO.util.Dom.setX(p.element,YAHOO.util.Dom.getRegion(p.field).right);},{element:span,field:this.field});anim.animate();}
else
{YAHOO.util.Dom.setStyle(span,'display','');}}
if(!this.parent.config.get('errorContainer'))
{span.innerHTML='';var img=document.createElement('img');img.setAttribute('alt','');img.setAttribute('src','/media/img/error.gif');img.setAttribute('style','margin-left:5px;');span.appendChild(img);span.innerHTML+='&nbsp;&nbsp;'+msg;YAHOO.util.Dom.addClass(parent,'error');}
else
{span.innerHTML=msg;}
this.completeEvent.fire({obj:this,result:false,source:this});},setValid:function()
{this.inProgress=false;this.isCompleted=true;this.error=false;var mainEl=this.field;if(this.container)
{mainEl=this.container;}
var parent=mainEl.parentNode;var span=null;if(this.parent.config.get('errorContainer'))
{span=YAHOO.util.Dom.get(this.parent.config.get('errorContainer'));}
else
{span=YAHOO.util.Dom.get(this.field.getAttribute('id')+'-info');}
if(!this.parent.config.get('errorContainer'))
{span.innerHTML='';var img=document.createElement('img');img.setAttribute('alt','');img.setAttribute('src','/media/img/checkbullet.gif');img.setAttribute('style','margin-left:5px;');span.appendChild(img);YAHOO.util.Dom.removeClass(parent,'error');}
this.completeEvent.fire({obj:this,result:true,source:this});},validate:function(obj)
{if(YAHOO.lang.isUndefined(this.type))
{return true;}
if((this.field.value=='')&&(this.type!=Denbel.util.FormValidator.TYPE_REQUIRED))
{this.setValid();return true;}
this.inProgress=true;this.isCompleted=false;this.error=false;var span=null;if(this.parent.config.get('errorContainer'))
{span=YAHOO.util.Dom.get(this.parent.config.get('errorContainer'));}
else
{span=YAHOO.util.Dom.get(this.field.getAttribute('id')+'-info');}
span.innerHTML='';if(!this.parent.config.get('errorContainer'))
{YAHOO.util.Dom.setStyle(span,'display','');YAHOO.util.Dom.setStyle(span,'opacity','0.9');var img=document.createElement('img');img.setAttribute('alt','');img.setAttribute('src','/media/img/spinner.gif');img.setAttribute('style','margin-left:5px;');span.appendChild(img);}
var mainEl=this.field;if(this.container)
{mainEl=this.container;}
var parent=mainEl.parentNode;if(Denbel.util.FormValidator.exec(this,false,obj))
{if(this.type!='remote')
{this.setValid();return true;}}
else
{if(this.type!='remote')
{this.setError();return false;}}},toString:function()
{return'Denbel.util.FieldValidator';}};
