var ElementType=function(){};ElementType.STRING=1;ElementType.INT=2;ElementType.BOOL=3;ElementType.DATETIME=4;ElementType.STRINGFLAGS=5;var Validation=new function(){var a={},b=new function(){this.MaxLength=function(b,a){return function(){return Validation.GetValue(b).length<=a}};this.Required=function(a){return function(){var b=Validation.GetValue(a);return b.length!=0}}};this.Register=function(b,d,c){if(a[b]==null){a[b]={};a[b].type=d;a[b].elements=c;a[b].validators=[]}};this.RegisterValidator=function(d,c,f,e){typeof b[c]=="function"&&a[d].validators.push({validator:b[c](d,f),errorMessage:e})};this.GetValue=function(e){var b,c=$(a[e].elements),d=a[e].type;if(c.attr("type")=="radio")c=$(a[e].elements+":checked");if(d==ElementType.INT)b=parseInt(c.val());else if(d==ElementType.BOOL)b=c.attr("checked");else if(d==ElementType.STRINGFLAGS){b="";c.each(function(){if($(this).attr("checked"))b=b+$(this).val()})}else b=c.val();return b};this.IsValid=function(d,f,g){var b=true;if(a[d]!=null)for(var c=0;c<a[d].validators.length&&b==true;c++){errorId=a[d].validators[c].errorMessage;b=a[d].validators[c].validator();var e=g+"_"+errorId;if(!b&&f&&errorId!=-1)ErrorHandler.Add(e,QSoft.Lib.Translation.Get(errorId));else ErrorHandler.Delete(e)}return b}};
