var FormInput=function(){
	
	/**
	 * 
	 * PUBLIC
	 * 
	 * */
	
	
	this.initialize=function(elemento/*Element*/,nome/*String*/,mensagemErroValidacao/*String*/){
		this.setElemento(elemento);
		this.setNome(nome);
		this.setMensagemErroValidacao(mensagemErroValidacao);
	};
	
	this.getNome=function(){
		return this.nome;
	};
	
	this.setNome=function(nome/*String*/){
		this.nome=nome;
	};
	
	this.getElemento=function(){
		return this.elemento;
	};
	this.setElemento=function(elemento/*Element*/){
		this.elemento=elemento;
	};
	
	this.getMensagemErroValidacao=function(){
		return this.mensagemErroValidacao;
	};
	this.setMensagemErroValidacao=function(mensagem/*String*/){
		this.mensagemErroValidacao=mensagem;
	};
	
	this.getValor=function(){
		//abstract
	};
	
	this.validar=function(){
		var validador/*ValidadorInput*/ = this.criarValidador();
		
		return validador.validarInput(this);
	};
	
	
	/**
	 * 
	 * PRIVATE
	 * 
	 * */
	
	this.elemento/*Element*/ = null;
	this.nome/*String*/ = null;
	this.mensagemErroValidacao/*String*/ = null;
	
	/**
	 * 
	 * PROTECTED
	 * 
	 * */
	
	this.criarValidador=function()/*ValidadorInput*/{
		
		
	};
	
};

FormInput=new Class(new FormInput);
