var msg_busca_padrao = "Buscar por..."; //texto padr�o do formulario de busca r�pida

function limpar(campo, padrao, proc){
	//proc = 1: onfocus; proc = 2: onblur
	if (campo.value == padrao && proc == 1)
		campo.value = "";
	if (campo.value == "" && proc == 2)
		campo.value = padrao;
}

function limparFormulario(f){
	for (i = 0 ; i < f.length ; i++){				//percorrer todos os campos do formulario
		if (f.elements[i].type == "text") 			//se for campo texto
			f.elements[i].value = "";				//limpar
		else if (f.elements[i].type == "select-one")//se for um select - option
			f.elements[i].selectedIndex = 0;		//selecionar primeira op��o
	}
}

function limparBusca(){
	document.form_superior.query.value = msg_busca_padrao;
}

function validaBuscaRapida(f){
	if (f.query.value == msg_busca_padrao){ //N�o fazer busca com o texto padr�o
		alert('Preencha uma busca v�lida!');
		f.query.focus();
		return false;		
	}
	return true;
}

function ehAnoBissexto(ano){
  return (ano % 4 == 0 && (ano % 100 != 0 || ano % 400 == 0));
}

function campoVazio(campo){
	if (campo.value == ''){
		alert('O campo \''+campo.id+'\' deve ser preenchido!');
		campo.focus();
		return true;
	}
	return false;
}

function campoNaoSelecionado(campo){
	if (campo.selectedIndex == 0){
		alert('Escolha uma op��o no campo \''+campo.id+'\'!');
		return true;
	}
	return false;		
}

function senhasDiferentes(senha1, senha2){
	if (senha1.value != senha2.value){
		alert('Os campos de senha n�o conferem!');
		senha1.focus();
		return true;
	}
	return false;		
}

function emailInvalido(campo){
	if (campo.value != ""){
		var reEmail = /^[\w-]+(\.[\w-]+)*@(([A-Za-z\d][A-Za-z\d-]{0,61}[A-Za-z\d]\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/;
		if(!reEmail.test(campo.value)) {
			alert('Por favor preencha seu e-mail corretamente.');
			campo.select();
			return true;
		}
		return false;
	}
	return false;	
}

function dataValida(data){
	if (data.value != ""){
		if (isNaN(data.value) && data.value.length >= 4){ //se digitou data completa
			exp = /\d{4}\-\d{2}\-\d{2}/
			if(!exp.test(data.value)) { //verifica se formato est� correto
				alert('Data preenchida incorretamente no campo \''+data.id+'\'!');            
				data.select();
				return false;
			} else { //verifica se a data � uma data poss�vel
				dia = data.value.substr(8,2);
				mes = data.value.substr(5,2);
				ano = data.value.substr(0,4);
				if (dia > 31) {
					alert('Data inv�lida no campo \''+data.id+'\'! Dia maior que 31.'); 
					data.select();
					return false;				
				} else if (mes > 12 ) {
					alert('Data inv�lida no campo \''+data.id+'\'! M�s maior que 12.');
					data.select();
					return false;
				} else {		
					if (mes == "02" && !ehAnoBissexto(ano) && dia > 28){ //dia maior que 28 em fevereiro num ano n�o bissexto
						alert('Ano n�o bissexto. Data inv�lida no campo \''+data.id+'\'!');            
						data.select();
						return false;		
					} else if (mes == "02" && ehAnoBissexto(ano) && dia > 29){ //dia maior que 29 em fevereiro num ano bissexto
						alert('Dia incorreto para fevereiro ('+dia+'). Data inv�lida no campo \''+data.id+'\'!');            
						data.select();
						return false;							
					} else if ((mes == "04" || mes == "06" || mes == "09" || mes == "11") && (dia == 31)) {
						alert('Dia incorreto ('+dia+'). Data inv�lida no campo \''+data.id+'\'!');            
						data.select();
						return false;							
					}
				}
			}
		} 
	}
	return true;
}