if(!window.HealthTip){
	Processing.addIgnoredURL("/healthTip/categoryimagesList.action");
	
	window.HealthTip = {
			
		initNew:function(){
			Consulte.toggleDimmer("dimmerCover", true);
			Consulte.toggleBanner(false);
			if(tinyMCE){
				tinyMCE.init({
					theme : "advanced",
					mode : "exact",
					elements : "healthTip.body",
					plugins : "fullscreen,paste",
					theme_advanced_buttons1 : "bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,bullist,numlist,|,outdent,indent",
					theme_advanced_buttons2 : "formatselect,|,fullscreen",
					theme_advanced_buttons3 : "",
					theme_advanced_toolbar_location : "top", 
					theme_advanced_toolbar_align : "left", 
					theme_advanced_resizing : false,
					paste_auto_cleanup_on_paste : true,
					paste_strip_class_attributes : "all",
					apply_source_formatting : false,
					paste_block_drop : true,
			        paste_preprocess : function(pl, o) {
						o.content = o.content.unescapeHTML();
			        },
					debug : false
				});
			}
			
			if(categories && jQuery){
				this.bindCategory("healthTip.category.name", categories);
			}
			
			//posiciona cursor no primeiro campo
			$("HealthTipForm").focusFirstElement();
			
			Event.observe($(document.body), "click", function(){
				var div = $("imagesList");
				if(div != null && div.visible()){
					div.hide();
				}
				return true;
			}.bind(this));
			
			Consulte.enableGlossary();
		},

		initDetail: function(){
			Consulte.setBackOptions({
				url:window.contextPath+"/healthTip/detail.action",
				hadBanner:true
			});
			Event.observe(window, "load", function(){
				Consulte.copyModuleName();
			});
			Consulte.loadPrompt("healthTip-relatedContent");
		},

		initList: function(){
			Consulte.toggleBanner(true);
			Consulte.setBackOptions({
				url:window.contextPath+"/healthTip/list.action",
				hadBanner:true
			});
			Event.observe(window, "load", function(){
				Consulte.copyModuleName();
			});
			Consulte.clearPrompt();
		},

		newTip:function(){
			new Ajax.Request(contextPath + "/healthTip/newTip.action", {
				onComplete:function(response){
					if(Consulte.hasError(response) == false){
						$("content").innerHTML = response.responseText;
					}
				}
			});
		},
			
		save:function(){
			if(this.validateMandatoryFields()){
				if(Consulte.showConfirmMessage(Bundle.getMessage("message.save.warning", "txt.healthtip.capitalized"))){
					var parameters = Form.serialize($("HealthTipForm"), {hash:true});
					parameters["healthTip.body"] = tinyMCE.get("healthTip.body").getContent();
					
					new Ajax.Request(contextPath + "/healthTip/save.action", {
						parameters:parameters,
						onComplete:function(response){
							if(Consulte.hasError(response) == false){
								Consulte.toggleDimmer("dimmerCover", false);
								this.list.bind(this, true).defer();
							}
						}.bind(this)
					});
				}
			}
		},

		cancel:function(){
			if(Consulte.showConfirmMessage(Bundle.getMessage("message.cancel.process"))){
				Consulte.toggleDimmer("dimmerCover", false);
				this.list();
			}
		},
		
		validateMandatoryFields:function(){
			try{
				Consulte.mandatory("healthTip.title", "label.title");
				Consulte.mandatory("healthTip.category.name", "label.category");
				//verifica se foi selecionada uma imagem
				if(!$("idImage")){
					Consulte.showInfoMessage(Bundle.getMessage("message.mandatory.info"));
					Consulte.showErrorMessage(Bundle.getMessage("message.mandatory.field", "label.image"));
					throw new Error("Erro!");
				}
				//verifica se foi digitado um texto
				tinyMCE.triggerSave();
				if(tinyMCE.get("healthTip.body").getContent() == ""){
					Consulte.showInfoMessage(Bundle.getMessage("message.mandatory.info"));
					Consulte.showErrorMessage(Bundle.getMessage("message.mandatory.field", "label.content"));
					throw new Error("Erro!");
				}
				Consulte.mandatory("healthTip.keywords", "label.keywords");
				return true;
				
			}catch(e){
				return false;
			}
		},
		
		showDetail:function(id, isAjax){
			if(isAjax){
				new Ajax.Request(contextPath + "/healthTip/detail.action", {
					parameters:{id:id},
					onComplete:function(response){
						if(Consulte.hasError(response) == false){
							$("content").innerHTML = response.responseText;
						}
					}
				});
			}else{
				$("healthTipCoverForm").action = contextPath + "/healthTip/showDetail.action";
				$("healthTipCoverForm").method = "get";
				$("healthTipCoverForm").appendChild(new Element("input", { type:"hidden", name:"id", value:id }));
				$("healthTipCoverForm").submit();
			}
		},
		
		cancelEvaluate:function(tipId){
			$A($("evaluationForm_tip_"+tipId).getElements()).each(function(element){
				if(element.checked){
					element.checked = false;
				}
			});
			$("avaliar_div_tip_"+tipId).hide();
		},
		
		evaluate:function(tipId){
			var grade = null;
			$A($("evaluationForm_tip_"+tipId).getElements()).each(function(element){
				if(element.checked){
					grade = element.value;
					throw $break;
				}
			});

			if(grade == null){
				alert(Bundle.getMessage("message.grade.required", "txt.healthtip.capitalized"));
			}else{
				new Ajax.Request(contextPath + "/healthTip/evaluate.action", {
					parameters:{id:tipId, grade:grade},
					onComplete:function(response){
						if(Consulte.hasError(response) == false){
							$("evalDiv_tip_"+tipId).innerHTML = Bundle.getMessage("message.thanks.evaluation");
							var grade = parseInt(response.responseText, 10);
							$("evaluation_tip_"+tipId).descendants().each(function(divStar, i){
								divStar = $(divStar);
								divStar.removeClassName("star_gold_middle");
								divStar.removeClassName("star_gray_middle");
								var klass = (i < grade) ? "star_gold_middle": "star_gray_middle";
								divStar.addClassName(klass);
							});
							$($("evaluation_tip_"+tipId).parentNode).title = "";
						}
					}
				});
			}
		},
		
		listByOrder:function(order){
			$("healthTipFilterForm.order").value = order;
			this.list();
		},
		
		listByCategory:function(categoryId){
			$("listType").value = "1";
			$("healthTipFilterForm.categoryId").value = categoryId;
			$("healthTipFilterForm.ownerId").value = "";
			this.list();
		},
		
		listByOwner:function(ownerId){
			$("listType").value = "2";
			$("healthTipFilterForm.ownerId").value = ownerId;
			this.list();
		},
		
		listAll:function(){
			$("listType").value = "0";
			$("healthTipFilterForm.categoryId").value = "";
			$("healthTipFilterForm.ownerId").value = "";
			this.list();
		},

		list:function(saveSuccess){
			var parameters = Form.serialize($("healthTipFilterForm"), {hash:true});
			new Ajax.Request(contextPath + "/healthTip/list.action", {
				parameters:parameters,
				onComplete:function(response){
					if(Consulte.hasError(response) == false){
						$("content").innerHTML = response.responseText;
						if(saveSuccess){
							$("topMessage").show();
							$("saveSuccessMessage").show();
						}
					}
				}
			});
		},

		doBack: function(){
			if(!Consulte.back()){
				this.list();
			}
		},

		toggleListOrder:function(){
			var obj = $("ordenar_div");
			var arrow = $("img_ordenar");

			if(obj.visible()){
				obj.hide();
				arrow.className = "img_mostrar";
			}else{
				obj.show();
				arrow.className = "img_esconder";
			}
		},
		
		selectCategoryImage:function(image){
			image = $(image);
			var source = image.src.replace("mini_", "");
			var obj = new Element("img", { "id":"idImage", src:source });
			$("selectedImage").innerHTML = "";
			$("selectedImage").insert(obj);
			$("healthTip.categoryImage.id").value = image.id;
			$("imagesList").hide();
		},
		
		loadCategoryImages:function(){
			var parameters = Form.serialize($("HealthTipForm"), {hash:true});
			new Ajax.Request(contextPath + "/healthTip/categoryImagesList.action", {
				parameters:parameters,
				onComplete:function(response){
					if(Consulte.hasError(response) == false){
						$("imagesList").innerHTML = response.responseText;
					}
				}
			});
		},
		
		toggleImagesList:function(){
			$("imagesList").toggle();
		},
		
		bindCategory:function(field, data){
			jQuery($(field)).autocomplete(data, {
				minChars: 0,
				delay: 100,
				width: 200,
				max:data.length,
				selectFirst: false,
				matchContains: true,
				autoFill: false,
				formatItem: function(row, i, max) {
					return row.name;
				},
				formatMatch: function(row, i, max) {
					return row.name.replaceSpecialChars() +" "+ row.name;
				},
				formatResult: function(row) {
					return row.name;
				}
			}).result(function(event, item){
				if(item != null){
					$("categoryImage").show();
					if($("healthTip.category.id").value != item.id){
						if($("idImage")){
							$("idImage").remove();
						}
						$("healthTip.category.id").value = item.id;
						$("healthTip.category.abbreviation").value = item.abbreviation;
						this.loadCategoryImages();
					}
				}else{
					$("imagesList").innerHTML = "";
					$("healthTip.category.id").value = "";
					$("imagesList").hide();
					$("categoryImage").hide();					
				}
			}.bind(this));
		},
		
		listCategories:function(){
			jQuery($("healthTip.category.name")).showAll();
		},
		
		truncate:function(){
			Consulte.truncateText($$("p.trunca"), 250);
		},
		
		getContentEmail:function(){
			return Consulte.getContentEmail("txt.healthtip.subject");
		}
	};
}