//USO:
/*<script src="js/valida.js" language="javascript"></script>*/
//<form action="{action}" method="post" enctype="multipart/form-data" name="form1" onSubmit="return checkCampos(this,'pagina');">

function checkCampos(frm,pagina,fck){
	var msgAlert = "Complete os seguintes campos:\n\n";
	var msg = msgAlert.length;
	
	switch(pagina){
		case "agenda":
			var nomedocampo = Array("nome","titulo","data_evento","Local do Evento","email");
			var descricao   = Array("Nome","Título","Data do Evento","local","E-mail");
		break;

		case "publicacoes":
			var nomedocampo = Array("data","titulo");
			var descricao   = Array("Data","Título");
		break;
		
		case "comentarios":
			var nomedocampo = Array("texto");
			var descricao   = Array("Comentario");		
		break;
		
		case "usuarios":
			var nomedocampo = Array("nome", "email", "datanascimento", "cidade");
			var descricao   = Array("Nome", "E-mail", "Data de Nascimnento", "Cidade");		
		break;
		
		case "categorias":
			var nomedocampo = Array("titulo");
			var descricao   = Array("Titulo");		
		break;
		
		case "newsletter":
			var nomedocampo = Array("titulo");
			var descricao   = Array("Titulo");		
		break;
		
		case "ciclo":
			var nomedocampo = Array("nome", "email");
			var descricao   = Array("Nome", "E-mail");		
		break;
		
		case "contato":
			var nomedocampo = Array("nome", "email", "assunto", "mensagem");
			var descricao   = Array("Nome", "E-mail", "Assunto", "Mensagem");		
		break;
	}

	for (var i = 0; i < nomedocampo.length; i++){
		var objetos = frm.elements[nomedocampo[i]];
		if (objetos){
			switch(objetos.type){
				case "select-one":
					if (objetos.selectedIndex == -1 || 
						objetos.options[objetos.selectedIndex].text == ""){
						msgAlert += " - " + descricao[i] + "\n";
					}
					break;
				case "select-multiple":
					if (objetos.selectedIndex == -1){
						msgAlert += " - " + descricao[i] + "\n";
					}
					break;
				case "text":
					if(objetos.name == "site"){
						if(frm.site.value == "http://"){
							msgAlert += " > " + "Digite o site corretamente" + "\n";	
						}
					}
					
					if(objetos.name == "email"){
						if(objetos.value != ""){
							if (!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(objetos.value))){
								msgAlert += " > " + "Email inválido" + "\n";	
							}
						}
					}
	
				case "textarea":
					if (objetos.value == "" || objetos.value == null){
						msgAlert += " - " + descricao[i] + "\n";
					}
					break;
				default:
			}
			
			if (objetos.type == undefined){
				var blnchecked = false;
				for (var j = 0; j < objetos.length; j++){
					if (objetos[j].checked){
						blnchecked = true;
					}
				}
				if (!blnchecked){
					msgAlert += " - " + descricao[i] + "\n";
				}
			}
		}
	}

	if(fck=='true'){
		var EditorInstance = FCKeditorAPI.GetInstance('descricao'); 
		if(EditorInstance.EditorDocument.body.innerText.length<=0){
			msgAlert += " - Descrição\n";
		}
	}

	if (msgAlert.length == msg){
		return true;
	}else{
		alert(msgAlert);
		return false;
	}
} 