if(!Utils) throw('Validator betoltesehez hianyzik: Utils');

var Validator = {
	controls : [],

	register : function(){
		for(var i=0;i<arguments.length;i++) this.controls[this.controls.length]=arguments[i];
	},

	check : function(){
		var reply = true;

		for(var i=0;i<this.controls.length;i++) $(this.controls[i].msgPlace).innerHTML='';

		var ctrl,ctrlType;
		for(var i=0;i<this.controls.length;i++){
			ctrl=$(this.controls[i].id);
			if(ctrl){
				ctrlType=Utils.getTypeOfControl(ctrl);
				switch(this.controls[i].type){
				case 'required':
					switch(ctrlType){
					case 'text':
						if((ctrl.value=='')||(ctrl.value==this.controls[i].defaultValue)){
							reply=false;
							$(this.controls[i].msgPlace).innerHTML+=this.controls[i].errorMsg+'<br/>';
						}
						break;
					case 'select':
					case 'select-one':
						if(ctrl.selectedIndex==0) reply=false;
						break;
					}
					break;
				case 'e-mail':
					var re=new RegExp("[a-z0-9!#$%&\'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&\'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?");
					if(!re.test(ctrl.value)){
						reply=false;
						$(this.controls[i].msgPlace).innerHTML+=this.controls[i].errorMsg+'<br/>';
					}
					break;
				}
			}
		}

		return reply;
	}
}