(function($){
	$.boxAdd = {
		options: {},
		//dados: [],
		__construct : function (options){
			var me = this;
			me.options = options;
			for(var x = 0; x < me.options.length; x++){
				//me.dados.push(new Array());
				$("#"+me.options[x].button).click(function(e){
					me.add(e);
				});
				me.bindKeyEvent(x);
			}
		},
		add : function(e){
			var me = this;
			var i = me.pegarIndice(e);
			if(i > -1){
				var registro = me.options[i].format+"";
				for(var x = 0; x < me.options[i].campos.length; x++){
					var valor = $('#'+me.options[i].campos[x]).val();
					if(valor != ""){
						var campo = "%"+me.options[i].campos[x]+"%";
						registro = registro.replace(campo,valor,'g');
					} else {
						alert('Todos os campos são obrigatórios');
						return;
					}
				}
				//me.dados[i].push(registro);
				if($('#'+me.options[i].container).html()!="") registro  = "<hr>"+registro;
				$('#'+me.options[i].container).append(registro);
				me.limparCampos(i);
			} else
				alert("Falha ao tentar adicionar o registro no box");
		},
		pegarIndice:function(e){
			var me = this;
			var $o = (e.target.tagName == "IMG"?$(e.target).parent():$(e.target));
			for(var x = 0; x < me.options.length; x++)
				if(me.options[x].button == $o.attr('id'))
					return x;
			return -1;
		},
		limparCampos : function (i){
			var me = this;
			if(i > -1)
				for(var x = 0; x < me.options[i].campos.length; x++)
					$('#'+me.options[i].campos[x]).val("");
		},
		bindKeyEvent : function(i){
			var me = this;
			if(i > -1)
				for(var y = 0; y < me.options[i].campos.length; y++)
					$('#'+me.options[i].campos[y]).keypress(function(e){
						if(e.keyCode == 13){
							$("#"+me.options[i].button).trigger("click");
							return false;
						}
					});
		},
		criarCamposSubmit : function(form){
			var me = this;
			var $form = $(form).parents("FORM");
			for(var x = 0; x < me.options.length; x++){
				var str = $("#"+me.options[x].container).html();
				//for(var y = 0; y < me.dados[x].length; y++) str += me.dados[x][y];
				str = '<input type="hidden" name="dados_'+me.options[x].container+'" value="'+str+'" />';
				$form.prepend(str);
			}
			$form.submit();
		}
	}
})($);