function limpaErros(){
		$('div.erro').hide(); //sumo com o diverro
		$('div.erro ul').html(''); //limpo o ul do erro
		$('.erroinfo .instrucao').html(''); //limpo os instrução que são filhos de erro
		$('.erroinfo').removeClass('erroinfo'); //volto as css ao normal
}

$(document).ready( function(){
/* ATENÇÃO: a biblioteca jQuery foi usada neste documento.
   Se não entende nada, estude-a. :) 
*/

	if(pgcadastro){ //se estou na página de cadastro,
		//aparecer o tipo de form específico
		if(inicio_login){ //exibir inicialmente login
			$('#cad_nao').removeAttr('checked');
			$('#cad_sim').attr('checked','checked');
			$('#cadastro').hide();
			$('#login').show();
		}else{ //normal, exibe primeiro o form de cadastro
			$('#cad_sim').removeAttr('checked');
			$('#cad_nao').attr('checked','checked');
			$('#login').hide(); //login oculto inicialmente
			$('#cadastro').show(); //login oculto inicialmente
		}
		$('input[@name=cadastrado]').click(function(){
			//limpando todos os erros ao trocaro tipo
			limpaErros();
			//limpando todos os campos de texto ao trocar o tipo
			$('input[@type=text]').val(''); 
			if($(this).val()=='sim'){ //exibe cadastro
				$('#login').slideToggle("medium")
				$('#cadastro').slideToggle("slow")
			}else{ //exibe logins
				$('#cadastro').slideToggle("medium")
				$('#login').slideToggle("slow")
			}
		});
	}//endif pgcadastro
	
	//deixando mais bonitim quando o campo receber foco
	//antigo: $(this).parents('li').lt(1).css('background','#DDD');}
	$('input').focus(function(){$(this).css('background','#F7F7F7');});
	$('input').blur(function(){$(this).css('background','')});
	
	/******** tratmento de erros **********/
	if(!erros_by_php){
	//ocultando o div dos erros inicialmente se não teve erros retornados pelo php
		$('div.erro').hide();
	}else{
		$('div.erro').show();
	}
	
	if(pgcadastro){
		//testando no blur da senha_confirm se são diferentes
		$('#senha_confirm').blur( function(){
			//executando o blur atribuido anteriormente
			$(this).css('background','');
			//validando
			if($('#senha_cad').val()!=$('#senha_confirm').val()){
				$(this).parent('li').children('.instrucao').html(men_senha_dif);
				$(this).parent('li').addClass('erroinfo');
				//nos blur eu não adiciono nada no div.erros
			}else{
				if($(this).parent('li.erroinfo').length>0){
					//se tiver erros na instrucao eu limpo
					$(this).parent('li').children('.instrucao').html('');
					$(this).parent('li').removeClass('erroinfo');
				}
			}
		});
		//testando os emails no blur
		$('#email_cad').add('#email').blur( function(){
			//executando o blur atribuido anteriormente
			$(this).css('background','');
			//validando
			if($.trim($(this).val())!=''){
				var tudo_ok = checaEmail($.trim($(this).val()));
				if(!tudo_ok){ //não está ok com o digitado
					$(this).parent('li').children('.instrucao').html(mens_email_invalido);
					$(this).parent('li').addClass('erroinfo');
					//nos blur eu não adiciono nada no div.erros
				}else{
					if($(this).parent('li.erroinfo').length>0){
						//se tiver erros na instrucao eu limpo
						$(this).parent('li').children('.instrucao').html('');
						$(this).parent('li').removeClass('erroinfo');
					}
					if(this.id=='email_cad'){ //verifico via ajax só no email_cad se o mail ja existe
						$.get('loja-cadastro.php?ajax&email_cad=' + $.trim(this.value),
							  '',
							  function(data){
								  //se data for diferente de 'ok' então o email já existe e tenho que avisar
								  if(data!='ok'){
									var $email_cad = $('#email_cad');
									$email_cad.parent('li').children('.instrucao').html(data);
									$email_cad.parent('li').addClass('erroinfo');
								  }
							  });
					}

				}
			}
		});
	}

	//validando o form de CADASTRO na hora do submit
	$('#f_cadastro').submit(function(event){
		limpaErros(); //limpando os erros antes de validar novamente
		
		if(pgcadastro){
			//testando o email novamente
			$('#email_cad').each(function(){
				if($.trim($(this).val())!=''){
					var tudo_ok = checaEmail($.trim($(this).val()));
					if(!tudo_ok){
						var label = $('label[@for=' + $(this).attr('id') + ']').html();
						$('div.erro ul').append("<li><span class='nome_campo'>" + label + "</span>" + mens_email_invalido + "</li>");
						$(this).parent('li').children('.instrucao').html(mens_email_invalido);
						$(this).parent('li').addClass('erroinfo');
					}
				}
			});
			
			//testando se as duas senhas são diferentes novamente
			if($('#senha_cad').val()!=$('#senha_confirm').val()){
				var label = $('label[@for=senha_confirm]').html();
				$('div.erro ul').append("<li><span class='nome_campo'>" + label + "</span>" + men_senha_dif + "</li>");
				$('#senha_confirm').parent('li').children('.instrucao').html(men_senha_dif);
				$('#senha_confirm').parent('li').addClass('erroinfo');
			}
		}
		
		//procurando obrigatorios (inputs texto e as duas senhas) no form
		$('input[@type=text]',this).add('#senha_cad').add('#senha_confirm').each( function(){
			//testando se o campo é obrigatorio E tiver vazio
			var obrigatorio = ($(this).attr('rel')=='obrigatorio') ? true : false;
			if(obrigatorio && $.trim($(this).val())==""){
				//var nome = biArraySearch(campos_def,$(this).attr("name"),0,4);
				var label = $('label[@for=' + $(this).attr('id') + ']').html();
				var men_erro = texto_obrig.replace("#campo#","'" + label + "'");
				$('div.erro ul').append("<li><span class='nome_campo'>" + label + "</span>" + men_erro + "</li>");
				$(this).parent('li').children('.instrucao').html(men_erro);
				$(this).parent('li').addClass('erroinfo');
			}
		});
		if($('div.erro li').length>0){//cancela o submit se tiver algum li no erro
			//tentar setar para o topo, que eu ainda não fiz
			window.scrollTo(0,0);
			$('div.erro').show("slow");
			//if(event.preventDefault) { event.preventDefault(); }
			return false;
		}
	}); /* fim do onsubmit do form CADASTRO*/
	
	if(pgcadastro){ //form login só tem no cadastro
		//validando o form de LOGIN na hora do submit
		$('#f_login').submit(function(event){
			limpaErros(); //limpando os erros antes de validar novamente
	
			//testando o email novamente
			$('#email').each(function(){
				if($.trim($(this).val())!=''){
					var tudo_ok = checaEmail($.trim($(this).val()));
					if(!tudo_ok){
						var label = $('label[@for=' + $(this).attr('id') + ']').html();
						$('div.erro ul').append("<li><span class='nome_campo'>" + label + "</span>" + mens_email_invalido + "</li>");
						$(this).parent('li').children('.instrucao').html(mens_email_invalido);
						$(this).parent('li').addClass('erroinfo');
					}
				}
			});
			
			$('#email').add('#senha').each(function(){ 
				//testando se o campo é obrigatorio E tiver vazio
				var obrigatorio = ($(this).attr('rel')=='obrigatorio') ? true : false;
				if(obrigatorio && $.trim($(this).val())==""){
					//var nome = biArraySearch(campos_def,$(this).attr("name"),0,4);
					var label = $('label[@for=' + $(this).attr('id') + ']').html();
					var men_erro = texto_obrig.replace("#campo#","'" + label + "'");
					$('div.erro ul').append("<li><span class='nome_campo'>" + label + "</span>" + men_erro + "</li>");
					$(this).parent('li').children('.instrucao').html(men_erro);
					$(this).parent('li').addClass('erroinfo');
				}
			});
	
			if($('div.erro li').length>0){//cancela o submit se tiver algum li no erro
				//tentar setar para o topo, que eu ainda não fiz
				window.scrollTo(0,0);
				$('div.erro').show("slow");
				if(event.preventDefault) { event.preventDefault(); }
				return false;
			}		
		});
	}
		
})
