/**
* Arquivo de funções para validação de formulário
*
* @author Marcus Vinicius Bastos Leandro <mvleandro@gmail.com>
*         http://www.prosadigital.com/ 
*
* @create 2008-05-07
*/

/**
* Função que contém chamadas a funções
* que serão feitas no evento onload do window
*/
function doOnLoad(){

	//Adiciona função de validação aos forms
	adicionarValidacaoForms();

}

/**
* Função que adiciona ao evento onsubmit de todos os formulários
* do documento, a função de validação de formulário "validaForm()"
*
*/
function adicionarValidacaoForms(){

	var forms = document.forms;

	for ( var i = 0; i < forms.length; i++ ){

		forms[i].onsubmit = validaForm;

	}

}


/**
* Função que valida os campos obrigatórios num formulário.
* Para que um campos seja obrigatório, o valor do seu atributo
* 'title' deve começar com um asterísco (*)
*
* @return boolean
*/
var validaForm = function(){

	var frm = this;

	for (var i = 0; i < frm.elements.length; i++){

		if ( (frm.elements[i].title.substr(0,1)) == "*" ){
			
			

			    if (frm.elements[i].value == ""){
				    alert("O campo '"+frm.elements[i].title.substr(1,(frm.elements[i].title.length))+"' é de preenchimento obrigatório!");
				    frm.elements[i].style.backgroundColor = "#ffffcc";
				    frm.elements[i].focus();
				    return false;
				    break;
					
			    }else{
					
					
					if ( frm.elements[i].name == "senha" ){
                        for (var y=0, len=frm.elements[i].value.length-1, valid='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789' ; y<len ; y++)
			            {
			                 if (valid.indexOf(frm.elements[i].value.substring(y,y+1)) == -1)
				             {
				                 alert("A senha deve ser composta apenas de letras e/ou números.");
				                 frm.elements[i].style.backgroundColor = "#ffffcc";
				                 frm.elements[i].focus();
				                 return false;
				                 break;
				             }
			             }
						
					}
					
					if ( frm.elements[i].name == "repetirsenha" ){
						
						 if(frm.elements[i].value!=frm.senha.value){
							 
							 alert("Repita corretamente a senha");
				             frm.elements[i].style.backgroundColor = "#ffffcc";
				             frm.elements[i].focus();
				             return false;
				             break;
						 
						 }  
					
					}

					
					
					
					
					
					if (( frm.elements[i].name == "email" ) || ( frm.elements[i].name == "repetiremail" )){
						
						 if(frm.elements[i].value.indexOf("@") < 1 ){
							 
							 alert("E-mail inválido");
				             frm.elements[i].style.backgroundColor = "#ffffcc";
				             frm.elements[i].focus();
				             return false;
				             break;
						 
						 }

					}
					
					if ( frm.elements[i].name == "repetiremail" ){
						
						 if(frm.elements[i].value!=frm.email.value){
							 
							 alert("Repita corretamente o email");
				             frm.elements[i].style.backgroundColor = "#ffffcc";
				             frm.elements[i].focus();
				             return false;
				             break;
						 
						 }

					}
					
					frm.elements[i].style.backgroundColor = "#efefef";	
				    
			    }
			
			

		}

	}

	return true;

}

// Atribui ao evento onload da janela a função doOnLoad.
// OBS: Desta forma estamos trabalhando com javascript não-obstrutivo.
window.onload = doOnLoad;
