/** 
 * Arquivo de funcionalidades do site.
 * Copyright (c) 2008 MidiaWeb - Midia Inteterativa
 * @author Julio Luiz <julio@midiaweb.com.br>
 * @date 04/03/2008
 */
	
	var _HTTP_PATH_ = "http://" + window.location.host + "/";
	var _REQUEST_PATH_ = window.location.pathname;
	var _MAX_TIMEOUT_AJAX_ = 10000; //10 Segundos de espera máxima para resposta em ajax
	
	var MedicSupply = {
			init: function() {
				if (_REQUEST_PATH_ == "/") { //Home
					$('input#busca')
						.attr({old_val : $.trim($('input#busca').val())})
						.focus(
							function() {
								if ($.trim(this.value) == $(this).attr('old_val'))
									this.value = "";
								else if ($.trim(this.value).length == 0)
									this.value = $(this).attr('old_val');
							}
						)
						.blur(
							function() {
								if ($.trim(this.value) == $(this).attr('old_val'))
									this.value = "";
								else if ($.trim(this.value).length == 0)
									this.value = $(this).attr('old_val');
							}
						);
				} else if (_REQUEST_PATH_.match(/\/medicamentos\/produto/ig) || _REQUEST_PATH_.match(/\/medicamentos/ig)) {  //Se estiver na pagina do medicamento
					MedicSupply.Produto.loadCSSPrint();
					MedicSupply.Produto.hideInfoMedicamento();
					
					/**
					 * codigo alterado
					 * @author Renato <renato@midiaweb.com.br>
					 * @date 26/09/2008
					 * adicionado:
					 */
					MedicSupply.Produto.emea();
					/**
					 * fim alterações
					 */
				} else if (_REQUEST_PATH_.match(/\/pacientes\/links-uteis/ig))
					MedicSupply.Paciente.loadCSSPrintLinksUteis();
				else if (_REQUEST_PATH_.match(/\/sobre-a-medic-supply\/noticias/ig))
					MedicSupply.Sobre.loadCSSPrintNoticias();
				else if (_REQUEST_PATH_.match(/\/profissionais-de-saude\/central-do-conhecimento/ig))
					$('div.resultadoEnquete').hide();
				
				Utils.mascaraCampo('#telDdd,#telefone,#celDdd,#celular,#numero,#cep01,#cep02,#rg,#cpf', 'numero');
				Utils.mudarLinguagem();
				Utils.btnVoltar();
				
			},
			Medicamento: {
				naoEncontrouMedicamento: function(form) {
					return MedicSupply.Geral.submitAjaxV1(form, 'erroContato');
				},
				soliciteInformacoes: function(form) {
					return MedicSupply.Geral.submitAjaxV1(form, 'erroContato');
				}
			},
			Produto: {
				paginaComentarios: 1,
				/**
				 * Função para escoder as divs de como solicitar o medicamento e indicacao de medicamento
				 * @author Julio Luiz <julio@midiaweb.com.br>
				 * @date 12/03/2008
				 */
				hideInfoMedicamento: function() {
					/**
					 * codigo alterado
					 * @author Renato <renato@midiaweb.com.br>
					 * @date 15/09/2008
					 * trocado:
					 * $('div#abaSaiba,div#abaIndique').hide();
					 * adicionado:
					 * $('a#linkSaiba').addClass('abaSaibaAtivo');
					 */
					$('div#abaIndique').hide();
					$('a#linkSaiba').addClass('abaSaibaAtivo');
					/** fim */
					if ($('div#abaIndique ul.indiqueErro').size() > 0) //Mostrar caso tenha erro no form de indicação
						$('div#abaIndique').show();
					$('a#linkSaiba,a#linkIndique').click(function() {
															var aba = this.id.replace('link',"");
															switch (aba) {
																case 'Saiba':
																	$('a#linkIndique').removeClass('abaIndiqueAtivo');
																	$('a#linkSaiba').addClass('abaSaibaAtivo');
																	break;
																case 'Indique':
																	$('a#linkSaiba').removeClass('abaSaibaAtivo');
																	$('a#linkIndique').addClass('abaIndiqueAtivo');
																	break;
															}
															MedicSupply.Produto.showInfoMedicamento('aba' + aba);
							   							});
				},
				showInfoMedicamento: function(element) {
					$('div.boxAba').hide();
					$('div#' + element).show();
				},
				loadCSSPrint: function() {
					Utils.loadCSS('_css/printProduto.css', 'print');
				},
				validarComentario: function (){
					var n, e, c, erro = '';
					var er = new RegExp(/^[A-Za-z0-9_\-\.]+@[A-Za-z0-9_\-\.]{2,}\.[A-Za-z0-9]{2,}(\.[A-Za-z0-9])?/);
					var tel = new RegExp(/\d{11}/);
				    
				   	n = $.trim($('#seuNome').val());
					e = $.trim($('#seuEmail').val());
					c = $.trim($('#comentario').val());
					t = $.trim($('#seuTelefone').val());
					
					if(n == 'Seu nome') erro = "Seu nome\n";
					
					if(e == 'Seu E-mail') erro += "Seu E-mail\n";
					else if(!er.test(e)) erro += "Um e-mail valido\n";
					
					if(t == 'Seu Telefone') erro += "Seu Telefone\n";
					else if(!tel.test(t.replace(/[^\d]/g, ''))) 
						erro += "DDD e telefone válido, ex. XXX XXXX XXXX\n";
					
					if(c == '') erro += "Seu comentário";
					
					if(erro != '') {
						alert("Preencha os campos:\n" + erro); 
						return false;
					} else return true;
				},
				maisComentarios: function(btn, idMed) {
					this.paginaComentarios += 1;
					var $btn = $(btn), $conteiner = $('div.comentarios');
						
					$btn.hide();
					
					$.post('#', { idMed: idMed, pagina: this.paginaComentarios}, function(data) {
						var tpl = '', numCmt = 0;
						
						/*if(!data.length) { 
							$btn.replaceWith('<p>Sem mais comentários</p>');
							return false;
						}*/
						
						$(data).each(function (i, v) {
							tpl = '<div class="conteudoComentarios"><strong>' + v.CMT_DATA + 
								' | '+ v.CMT_AUTOR +' .</strong><p>'+ v.CMT_COMENTARIO +'</p></div>';	
							$conteiner.append(tpl);
						});
						
						numCmt = $conteiner.find('div.conteudoComentarios:gt(0)').length 
						
						if(data.length && numCmt < data[0].totalComentarios)
							$btn.appendTo($conteiner).show();
					} , "json");
					
					return false;
				},
				/**
				 * codigo alterado
				 * @author Renato <renato@midiaweb.com.br>
				 * @date 26/09/2008
				 * adicionado:
				 */
				emea: function() {
					$('ul.emeaPergunta > li > a').each(function(e){
						$(this).click(function(a){
							$.scrollTo('.resposta'+e.toString(),1000,{easing:'swing'});
						})
					});
					$('ul.emeaResposta > li > a.voltarTopo').each(function(){
						$(this).click(function(a){
							$.scrollTo('.emeaPergunta');
						})
					});
				}
				/** fim */
			},
			Geral: {
				submitAjaxV1: function(form, ulErro) {
					form = $(form);
					$.ajax({
						url: form.attr('action'),
						data: form.serialize(true) + "&ajax=true",
						type: 'post',
						timeout: _MAX_TIMEOUT_AJAX_,
						dataType: "json",
						cache: false,
						beforeSend: function() {
							$('ul.' + ulErro).remove();
							$('p.carregando').show();
						},
						success: function(data) {
							$('p.carregando').hide();
							if (typeof data == "object"){
								if (!data.erros) {
									form.submit();
								} else {
									form.before(Utils.arrayToUl(data.erros, ulErro));
									Utils.redireciona(window.location.toString().replace("#" + ulErro,"") + "#" + ulErro);									
								}
							} else
								form.submit();
						},
						error: function() {
							form.submit();
						}
					});
					return false;	
				},
				submitAjaxV2: function(form, ulErro, urlCallAjaxSucess, urlRedir) {
					form = $(form);
					$.ajax({
						url: form.attr('action'),
						data: form.serialize(true) + "&ajax=true",
						type: 'post',
						timeout: _MAX_TIMEOUT_AJAX_,
						dataType: 'json',
						cache: false,
						beforeSend: function() {
							form.hide();
							$('ul.' + ulErro).remove();
							$('p#loading-login').show();
						},
						success: function(data) {
							$('p#loading-login').hide();
							if (!data.erros) {
								$('a.cadastro').remove();
								$('div#painel_lateral').load(urlCallAjaxSucess);
								Utils.redireciona(urlRedir);
							} else {
								form.show()
									.before(Utils.arrayToUl(data.erros, ulErro));
								Utils.redireciona(window.location.toString().replace("#" + ulErro,"") + "#" + ulErro);
							}
						},
						error: function() {
							form.submit();
						}
					});
					return false;	
				},
				submitAjaxV3: function(form, classSucess, ulErro, loadingId) {
					form = $(form);
					$.ajax({
						url: form.attr('action'),
						data: form.serialize(true) + "&ajax=true",
						type: 'post',
						timeout: _MAX_TIMEOUT_AJAX_,
						dataType: 'json',
						cache: false,
						beforeSend: function() {
							$('p.' + classSucess).hide();
							$('ul.' + ulErro).remove();
							$('p#' + loadingId).show();
						},
						success: function(data) {
							$('p#' + loadingId).hide();
							if (!data.erros) {
								if (data.sucesso) {
									$('p.' + classSucess).html(data.sucesso).show();
									form.children().find('input[type="text"],textarea').val('');
								} else
									form.submit();
							} else {
								form.before(Utils.arrayToUl(data.erros, ulErro));
								Utils.redireciona(window.location.toString().replace("#" + ulErro,"") + "#" + ulErro);
							}
						},
						error: function() {
							form.submit();
						}
					});
					return false;	
				},
				submitAjaxV4: function(form, ulErroClass, textoAcaoNova) {
					form = $(form);
					$.ajax({
						url: form.attr('action'),
						data: form.serialize(true) + "&ajax=true",
						type: 'post',
						timeout: _MAX_TIMEOUT_AJAX_,
						dataType: 'json',
						cache: false,
						beforeSend: function() {
							$('p.sucessoNone').hide();							
							$('ul.' + ulErroClass).remove();
							$('p.carregando').show();							
							form.hide();
						},
						success: function(data) {
							$('p.carregando').hide();
							if (typeof data == "object"){
								if (!data.erros) {
									if (data.sucesso) {
										$('p.sucessoNone').html(data.sucesso).show();
										form.children().find('input[type="text"],textarea').val('');
										if (form.children().find('select').get(0))
											form.children().find('select').get(0).selectedIndex = 0;
										//Adicionar botão de nova ação
										if (textoAcaoNova) {
											form.after(
												$(document.createElement('input'))
													.attr({
														id: "novo",
														name: "novo",
														type: "button"
													})
													.val(textoAcaoNova)
													.addClass("btEnviarDenovo")
													.click(function(){
														form.show();
														$(this).remove();
														$('p.sucessoNone').hide();
													})
											);
										}
									} else
										form.submit();
								} else {
									form.show().before(Utils.arrayToUl(data.erros, ulErroClass));
									Utils.redireciona(window.location.toString().replace("#" + ulErroClass,"") + "#" + ulErroClass);
								}
							} else
								form.submit();
						},
						error: function() {
							form.submit();
						}
					});
					return false;	
				},
				alterarSenha: function(form) {
					return MedicSupply.Geral.submitAjaxV1(form, 'alteraSenhaErro');
				},
				esqueciSenha: function(form) {
					return MedicSupply.Geral.submitAjaxV1(form, 'esqueciSenhaErro');					
				}
			},
			Busca: {
				montaBusca: function(form) {
					var url_busca = null;
					var filtro = "";
					form = $(form);
					//Limpar a url da busca
					form.attr('action', form.attr('action').replace(/\/(medicamento\b|patologia\b|especialidade\b|principio-ativo\b)\/[^\s]*/ig, ''));
					$('p.erroBusca').remove();
					if ((!form.find('input#busca').attr('old_val')) || ((form.find('input#busca').attr('old_val') != $.trim(form.find('input#busca').val())))) {
						if (($.trim(form.find('input#busca').val()).length >= 2) && (form.find('[name="filtro"]').val() != "0")) {
							filtro = $('input:radio:checked').size() > 0 ? $('input:radio:checked').val() : $('[name="filtro"]').val();
							switch (parseInt(filtro)) {
								case 2: //Patologia
									url_busca = "/patologia/";
									break;
								case 3:
									url_busca = "/especialidade/";
									break;
								case 4:
									url_busca = "/principio-ativo/";
									break;
								default:
									url_busca = "/medicamento/";
									break;
							}
							form.attr('action', form.attr('action') + url_busca + escape($.trim(form.find('input#busca').val()))) + "/";
							form.submit();
							
						} else if ($.trim(form.find('input#busca').val()).length < 2)
							form.before("<p class=\"erroBusca\">A sua pesquisa deve conter mais de 2 letras.</p>");
						else if (form.find('[name="filtro"]').val() == "0")
							form.before("<p class=\"erroBusca\">Um Filtro precisa ser selecionado.</p>");
					} else if (form.find('input#busca').attr('old_val') == $.trim(form.find('input#busca').val()))
						form.after("<p class=\"erroBusca\">A sua pesquisa deve conter mais de 2 letras e um Filtro precisa ser selecionado.</p>");
					
					return false;
				},
				
				
				montaBuscaHome: function(form) {
					var url_busca = null, erro;
					var filtro = "";
					form = $(form);
					//Limpar a url da busca
					form.attr('action', form.attr('action').replace(/\/(medicamento\b|patologia\b|especialidade\b|principio-ativo\b)\/[^\s]*/ig, ''));
					$('p.erroBusca').remove();
					if ((!form.find('input#campoBusca').attr('old_val')) || ((form.find('input#campoBusca').attr('old_val') != $.trim(form.find('input#campoBusca').val())))) {
						if (($.trim(form.find('input#campoBusca').val()).length >= 2) && (form.find('[name="tipoBusca"]').val() != "0")) {
							filtro = $('input:radio:checked').size() > 0 ? $('input:radio:checked').val() : $('[name="tipoBusca"]').val();
							switch (parseInt(filtro)) {
								case 2: //Patologia
									url_busca = "/patologia/";
									break;
								case 3:
									url_busca = "/especialidade/";
									break;
								case 4:
									url_busca = "/principio-ativo/";
									break;
								default:
									url_busca = "/medicamento/";
									break;
							}
							form.attr('action', form.attr('action') + url_busca + escape($.trim(form.find('input#campoBusca').val()))) + "/";
							//window.location(form.attr('action'));
							form.submit();
							
							
						} else if ($.trim(form.find('input#campoBusca').val()).length < 2) {
							//form.before("<p class=\"erroBusca\">A sua pesquisa deve conter mais de 2 letras.</p>");
							erro = 'A sua pesquisa deve conter mais de 2 letras';
						}
						else if (form.find('[name="tipoBusca"]').val() == "0") {
							//form.before("<p class=\"erroBusca\">Um Filtro precisa ser selecionado.</p>");
							erro ='Um Filtro precisa ser selecionado';
						}
					} else if (form.find('input#campoBusca').attr('old_val') == $.trim(form.find('input#tipoBusca').val())) {
						//form.after("<p class=\"erroBusca\">A sua pesquisa deve conter mais de 2 letras e um Filtro precisa ser selecionado.</p>");
						erro ='A sua pesquisa deve conter mais de 2 letras e um Filtro precisa ser selecionado';
					}
					if(erro) alert(erro);
						
					return false;
				},
				
				
				buscaTopo: function(form){
					MedicSupply.Busca.montaBusca(form);
					return false;
				}
			},
			Paciente: {
				Login: function(form) {
					return MedicSupply.Geral.submitAjaxV2(form, "loginErro", _HTTP_PATH_ + "pacientes/login/painel", _HTTP_PATH_ + "pacientes/links-uteis");					
				},
				procuraDoencasEspecialidade: function (especialidade, patologia) {
					var opt_doenca = $(document.createElement('option')).attr({value: "0", label: "Doenças"}).text("Doenças");
					var opt_loading = $(document.createElement('option')).attr({value: "0", label: "Carregando..."}).text("Carregando...");					
					if (especialidade != "0") {
						$.ajax({
							url: $('form#formBuscaLinksUteis').attr('action'),
							data: $('form#formBuscaLinksUteis').serialize(true) + "&ajax=true&lista_patologias=1",
							type: 'post',
							timeout: _MAX_TIMEOUT_AJAX_,
							dataType: 'json',
							cache: false,
							beforeSend: function() {
								$('select#filtro02').empty().append(opt_loading);
							},
							success: function(data) {
								if (data.patologias) {
									$('select#filtro02').empty().append(opt_doenca);
									$.each(data.patologias, 
										function(i, pat) {
											$('select#filtro02')
												.append(
													$(document.createElement('option'))
														.attr({
																value: pat.pat_id,
																label: pat.pat_nome
														})
														.html(pat.pat_nome) 
												);
										}
									);
									if (patologia) //Se o codigo da patologia foi informado
										$('select#filtro02 option[value="' + patologia + '"]').attr('selected',"selected");	
									$('select#filtro02').removeAttr('disabled');
								}								
							},
							error: function() {
								//form.submit();
								console.log("erro!");
							}
						});
					} else
						$('select#filtro02').empty().append(opt_doenca);
				},
				buscaLinksUteis: function(form) {
					form = $(form);
					$.ajax({
						url: form.attr('action'),
						data: form.serialize(true) + "&ajax=true&validate=true",
						type: 'post',
						timeout: _MAX_TIMEOUT_AJAX_,
						dataType: 'json',						
						cache: false,
						beforeSend: function() {
							$('ul.erroLinksUteis').remove();
							$('p#loading_links-uteis').show();
						},
						success: function(data) {
							var new_action = null;
							$('p#loading_links-uteis').hide();
							if (data.sucesso) {
								new_action = form.attr('action') + "/"  + escape(form.find('select#filtro01 option:selected').text()) + "/" + escape(form.children().find('select#filtro02 option:selected').text());
								form.attr('action', new_action);								
								form.submit();
							} else if (data.erro)
								$('div#containerLinksUteis').prepend(Utils.arrayToUl(data.erro, 'erroLinksUteis'));
						},
						error: function() {
							form.submit();
						}
					});
					return false;
				},
				cadastro: function(form) {
					return MedicSupply.Geral.submitAjaxV1(form, "cadastroErro");
				},
				loadCSSPrintLinksUteis: function() {
					Utils.loadCSS('_css/printLinksUteis.css', 'print');
				}
			},
			ProfissionalSaude: {
				cadastro: function(form) {
					return MedicSupply.Geral.submitAjaxV1(form, "cadastroErro");					
				},
				cadastroInterna: function(form) {
					return MedicSupply.Geral.submitAjaxV1(form, "cadastroErroInterna");					
				},
				Login: function(form) {
					form = $(form);
					$.ajax({
						url: form.attr('action'),
						data: form.serialize(true) + "&ajax=true",
						type: 'post',
						timeout: _MAX_TIMEOUT_AJAX_,
						dataType: 'json',
						cache: false,
						beforeSend: function() {
							form.hide();
							$('ul.loginErro').remove();
							$('p#loading-login').show();
						},
						success: function(data) {
							$('p#loading-login').hide();
							if (!data.erros) {
								$('a.cadastro').remove();
								$('div#painel_lateral').load(_HTTP_PATH_ + "profissionais-de-saude/login/painel");
								if (form.find('input[name="referer"][type="hidden"]').val())
									Utils.redireciona(unescape(form.find('input[name="referer"][type="hidden"]').val()));
								else
									Utils.redireciona(_HTTP_PATH_ + "profissionais-de-saude/central-do-conhecimento/");
							} else {
								form.show()
									.before(Utils.arrayToUl(data.erros, 'loginErro'));
							}
						},
						error: function() {
							form.submit();
						}
					});
					return false;
				}
			},
			Laboratorio: {
				Login: function(form) {
					return MedicSupply.Geral.submitAjaxV2(form, "loginErro", _HTTP_PATH_ + "laboratorios/login/painel", _HTTP_PATH_ + "laboratorios/vantagens");
				},
				cadastro: function(form) {
					return MedicSupply.Geral.submitAjaxV1(form, "cadastroErro");					
				}
			},
			CentralConhecimento: {
				trocaCentral: function(url_central) {
					if (url_central != "0")
						window.location = _HTTP_PATH_ + "profissionais-de-saude/central-do-conhecimento/" + url_central;
				},
				postarComentario: function(form) {
					return MedicSupply.Geral.submitAjaxV3(form, "sucessoComentario", "comentarioErro", "loading-comentario");					
				},
				indicarPost: function(form) {
					return MedicSupply.Geral.submitAjaxV3(form, "sucessoIndique", "indiqueErro", "loading-indique");
				},
				buscaPostBlog: function(form) {
					var new_action = null;
					form = $(form);
					if ($.trim(form.find('input#busca').val()).length >= 4) {
						new_action = form.attr('action') + "/"  +  escape(form.find('input#busca').val());
						form.attr('action', new_action);
						form.submit();
					}
					return false;
				},
				votarEnquete: function(form) {
					form = $(form);
					var classe_enquete_sucesso = "p.sucessoEnquete" + form.find('input[name="enq_id"][type="hidden"]').val();
					var classe_enquete_erro = "enqueteErro" + form.find('input[name="enq_id"][type="hidden"]').val();
					var classe_enquete_ajax = "p.loading_enquete" + form.find('input[name="enq_id"][type="hidden"]').val();
					$.ajax({
						url: form.attr('action'),
						data: form.serialize(true) + "&ajax=true",
						type: 'post',
						timeout: _MAX_TIMEOUT_AJAX_,
						dataType: 'json',
						cache: false,
						beforeSend: function() {
							$(classe_enquete_sucesso).hide();
							$('ul.' + classe_enquete_erro).remove();
							$(classe_enquete_ajax).show();
						},
						success: function(data) {
							$(classe_enquete_ajax).hide();
							if (!data.erros) {
								if (data.sucesso) {
									$(classe_enquete_sucesso).html(data.sucesso).show();
									form.hide();
									MedicSupply.CentralConhecimento.resultadoEnquete(form.find('input[name="enq_id"][type="hidden"]').val());
								} else
									form.submit();
							} else
								form.before(Utils.arrayToUl(data.erros, classe_enquete_erro + " enqueteErro"));
						},
						error: function() {
							form.submit();
						}
					});
					return false;
				},
				resultadoEnquete: function(enq_id, url_especialidade) {
					url = _HTTP_PATH_ + (url_especialidade || _REQUEST_PATH_);
					$.ajax({
						url:  url + "/total-votos-enquete/" + enq_id,
						data: null,
						type: 'get',
						timeout: _MAX_TIMEOUT_AJAX_,
						dataType: 'json',
						cache: false,
						beforeSend: function() {
							$('div#enquete' + enq_id).remove();
							$('input#verResultado' + enq_id).hide();
							$('p.carregando' + enq_id).show();
							$('div#resultado'+enq_id).hide();
						},
						success: function(data) {
							$('p.carregando' + enq_id).hide();
							if (data.respostas) {
								$('div#votosEnq' + enq_id).empty();
								$.each(data.respostas, function(i, val) {
									$('div#votosEnq' + enq_id)
										.append(
											$(document.createElement('div'))
												.addClass('baseResultado')
												.append(
													$(document.createElement('div'))
														.addClass('baseResultadoTotal')
														.append(
															$(document.createElement('span'))
																.css('width', val.r_perc + "%")
																.html(val.r_perc + "%")											
														))
										.append(val.r_resposta)
									);
									$('div#resultado'+enq_id).show();
								});
							} else if (data.erro) {
								$('input#verResultado' + enq_id).show();
							}
						},
						error: function() {
							
						}
					});
				}
			},
			Sobre: {
				loadCSSPrintNoticias: function() {
					Utils.loadCSS('_css/printNoticia.css', 'print');
				}
			},
			Conteudo: {
				Paciente: function(form) {
					var n, e, a, t, erro = '';
					var er = new RegExp(/^[A-Za-z0-9_\-\.]+@[A-Za-z0-9_\-\.]{2,}\.[A-Za-z0-9]{2,}(\.[A-Za-z0-9])?/);
					
				    
				   	n = $.trim($('#nome').val());
					e = $.trim($('#email').val());
					a = $.trim($('#assunto').val());
					t = $.trim($('#texto').val());
					
					if(n == '') 	
						erro  	 = "<li>É necessário informar seu nome</li>";
					
					if(e == '') 	
						erro	+= "<li>É necessário informar seu E-mail</li>";
					else 	
						if(!er.test(e)) 
							erro += "<li>Informe um e-mail valido</li>";
					
					if(a == '') 	
						erro  	+= "<li>É necessário informar um assunto</li>";
					
					if(t == '') 	
						erro  	+= "<li>É necessário informar um texto</li>";
					
					if(erro != '') {
						
						$("#erroConteudo").html(erro);
						$("#erroConteudo").css( "display", "block"  );  
						return false;
					} else {
						$("#erroConteudo").css( "display", "none"  );  
						
						return true;
					}
				}
			},
			Contato: {
				initCamposIndique: function() {
					$('div#abaIndique form#formIndiqueMedicamento input[type="text"]')
						.each(function(){ this.old_val = this.value; })
						.focus(function() {
							if ($.trim(this.value) == this.old_val)
								this.value = '';
						})
						.blur(function() {
							if ($.trim(this.value).length == 0)
								this.value = this.old_val;								
						});
				},
				indicarMedicamento: function() {
					var submit = false;
					//Limpar os campos que tiverem o old_val
					$('div#abaIndique form#formIndiqueMedicamento input[type="text"]')
						.each(
								function(){ 
									if (this.value == this.old_val)
										this.value = ""; 
								}
						);
					$.ajax({
						url: $('form#formIndiqueMedicamento').attr('action'),
						data: $('form#formIndiqueMedicamento').serialize(true) + "&ajax=true",
						type: 'post',
						timeout: _MAX_TIMEOUT_AJAX_,
						dataType: 'json',
						cache: false,
						beforeSend: function() {
							$('div#abaIndique ul.indiqueErro').remove();
							$('div#abaIndique form#formIndiqueMedicamento').hide();
							$('div#abaIndique p.loading').show();
						},
						success: function(data) {
							$('div#abaIndique p').hide();
							if (!data.erros) {
								$('div#abaIndique').prepend(
														$(document.createElement('p'))
															.addClass('sucesso')
															.css('background',"none")
															.html(
																data.sucesso + 
																"<br /><a href=\"javascript:void(0);\" onclick=\"MedicSupply.Contato.novaIndicacao();\">" + 
																	"Fazer Nova Indica&ccedil;&atilde;o</a>"
																)
														);
													
							} else {
								$('div#abaIndique form#formIndiqueMedicamento input[type="text"]')
									.each(
											function() {
												if (this.value.length == 0)
													this.value = this.old_val;
										 	}
									);
								$('div#abaIndique form#formIndiqueMedicamento')
									.show()
									.before(Utils.arrayToUl(data.erros, 'indiqueErro'));
								
									
							}
						},
						error: function() {
							$('div#abaIndique form#formIndiqueMedicamento').submit();
						}
					});
					return submit;
				},
				novaIndicacao: function() {
					$('div#abaIndique p.sucesso').remove();
					$('div#abaIndique ul.indiqueErro').remove();
					MedicSupply.Contato.zeraCamposIndicacao();
					$('div#abaIndique form#formIndiqueMedicamento').show();
				},
				zeraCamposIndicacao: function() {
					$('div#abaIndique form#formIndiqueMedicamento input[type="text"]')
						.each(
								function() {
									this.value = this.old_val;
							 	}
						);
				},
				Paciente: function(form) {
					return MedicSupply.Geral.submitAjaxV1(form, "erroContato");
					//return MedicSupply.Geral.submitAjaxV4(form, "erroContato", "Fazer novo Contato");
				},
				ProfissionalSaude: function(form) {
					return MedicSupply.Geral.submitAjaxV1(form, "erroContato");
					//return MedicSupply.Geral.submitAjaxV4(form, "erroContato", "Fazer novo Contato");
				},
				Laboratorio: function(form) {
					return MedicSupply.Geral.submitAjaxV1(form, "erroContato");
					//return MedicSupply.Geral.submitAjaxV4(form, "erroContato", "Fazer novo Contato");
				},
				Trabalhe: function(form) {
					return MedicSupply.Geral.submitAjaxV4(form, "erroContato", "Fazer novo Contato");
				},
				IndiqueSite: function(form) {					
					return MedicSupply.Geral.submitAjaxV1(form, "erroContato");
				},
				EnvieConteudo: function(form) {
					return MedicSupply.Geral.submitAjaxV4(form, "erroEnvieConteudo", "Enviar novo Conteúdo");
				},
				FaleFarmaceutico: function(form) {
					return MedicSupply.Geral.submitAjaxV4(form, "erroFaleFarmaceutico", "Fazer novo Contato");
				}
			},
			CampoFile: function() {
					// document.getElementById('fileView').value = document.getElementById('file').value;
					$('#file').change(function(){
						if ( $('#file').value == 'undefined' )  {
							$('#fileView').val('Vazio');
						} else {
							var fnp = $('#file').val();
							var fileNameOnly = fnp.substring(fnp.lastIndexOf("\\")+1);
							$('#fileView').val( fileNameOnly );
						}
						
					});
					/*
					*/
			}

	};
	
	//Funcao de inicializacao do documento.
	$(document).ready(MedicSupply.init);

	$(document).ready(function(){
		MedicSupply.CampoFile();
	});
	
	var Utils = {
		/**
		 * Função para carregar script na header. 
		 * Podendo assim ser chamado em páginas específicas.
		 */
		loadScript: function(src) {
			alert(src);
			$('head').append(
				$(document.createElement('script'))
					.attr({
						type: 'text/javascript',
						src: _HTTP_PATH_ + src		
					})
			)
		},
		/**
		 * Função para carregar css na header.
		 * Podendo assim ser chamado em páginas específicas.
		 */
		loadCSS: function(src, media_css) {
			$('head').append(
				$(document.createElement('link'))
					.attr({
						rel: 'stylesheet',
						type: 'text/css',
						media: media_css || 'screen,projection',
						href: _HTTP_PATH_ + src + "?" + parseInt((Math.random()*10000))		
					})
			)
		},
		arrayToUl: function(arr, classe) {
			var ul = $(document.createElement('ul'));
			if (classe != "undefined")
				ul.addClass(classe);
				ul.attr({id: classe});
			$.each(arr, function(i, data){
							ul.append($(document.createElement('li')).html(data));
						 }
			);
			return ul;
		},
		redireciona: function(url, timeout) {
			setTimeout('window.location = "' + url +  '";', timeout || 0);
		},
		/*
		* Funcao para modificar a URL e chamar a versão em Ingles do site
		*
		* @author Michael Paul da Rosa
		* @date 09/10/08
		*/
		mudarLinguagem: function(){
			$('#linkEuaInterna, #linkBrasilInterna').click(function(evt) {
				var path, lingua = this.childNodes[0].alt;
				if (!evt) evt = window.event;
				evt.preventDefault();
				_REQUEST_PATH_ = _REQUEST_PATH_.replace('english/','');
				if (lingua == "Inglês") 
					path = _HTTP_PATH_ + 'english/pharmaceuticals';
				else
					path = 'http://' + window.location.host;
				Utils.redireciona(path);
			});
		},
		mascaraCampo: function(element, tipo) {
			var mascara = "";
			var max = 0; 
			switch(tipo) {
				case 'numero':
					$(element)
						.keypress(function(evt){							
							var regex_code = /^(8|46|37|39|35|36|13|9|45)$/;
							if (!evt) 
								evt = window.event;
							var charCode = (evt.which) ? evt.which : evt.keyCode;
							if (!regex_code.test(charCode) && (String.fromCharCode(charCode).match(/^\D$/)))
								return false;
				         	return true;
					   })
					   .blur(function() {
					   		this.value = this.value.replace(/\D/g,'');
					   });
				break;
			}			
		},
		proximoCampo: function(element, next_element) {
			$(element).keyup(function(evt){
				if (this.value.length == this.maxLength)
					$(next_element).focus();
			})
		},
		btnVoltar: function(){ 
			$('a.prevLink').click(function(e){
				if(typeof e == 'undefined')
				var e = window.event;
				e.preventDefault();
				window.history.go(-1);
			});
		}
	};

