/*

	INSTRUÇÕES DE COMO UTILIZAR O PLUGIN 
	
	Ao declarar um formulário o mesmo não deverá conter os atributos action e method
	Ex.: <form id="FormularioTeste" name="FormularioTeste">
	
	O formulário deverá conter uma camada de retorno com o id RETORNO
	Ex.: <div id="retorno"></div>
	
	Todos os campos deverão pertencer a uma classe "input"
	Ex.: 
	  <input type="text" name="nome" id="nome" class="input">
	  <input type="hidden" name="action" id="action" class="input" value="teste.php">
	  <input type="hidden" name="acao" id="acao" class="input" value="enviar">
	  
	Os campos obrigatórios deverão pertencer a uma classe chamada "obrigatorio"
	Ex.: <input type="text" name="nome" id="nome" class="obrigatorio input">
 
	Ao Final do formulário deverá conter um botão do tipo "button"  com o nome submit e id submit
	Ex.: <input type="button" name="submit" id="submit" value="testar"/>
	Este é o botão que ativará a chamada do JavaScript para a validação do formulário e envio dos 
	campos por AJAX.
	
	Os campos são selecionados automaticamente pela classe "input", o javascript montará a querystring 
	e enviará pelo ajax os dados, fazendo assim uma requisição.
	
	
	Exemplo de formulário válido
	
  <form id="FormularioTeste" name="FormularioTeste">
	<label>
		<div id="retorno"></div>
		<label> CPF:</label><br/>
		<input type="text" name="cpf" id="cpf" class="obrigatorio input"><br/>
		<label> Nome:</label><br/>
		<input type="text" name="nome" id="nome" class="obrigatorio input">
		<input type="hidden" name="acao" id="acao" class="input" value="enviar">
		<input type="hidden" name="action" id="action" class="input" value="teste.php">
		<input type="button" name="submit" id="submit" value="testar"/>
	</label>
   </form>
*/
	


function IniciaAjax(){
		var ajax;

		if(window.XMLHttpRequest){ //Mozilla,Safari..
			ajax = new XMLHttpRequest();
		}
		else if(window.ActiveXObject){
			ajax = new ActiveXObject();

			if(!ajax){
				ajax  = new ActiveXObject("Msxml2.XMLHTTP");
			}
			else {
				ajax = new ActiveXObject("Microsoft.XMLHTTP")
			}
		}
		else {
			alert('Seu navegador não dá suporte para essa aplicação!')
		}
		return ajax;
}

function EnviaFormulario(form,action)
{
	ajax = IniciaAjax();
	if(ajax){
		ajax.onreadystatechange = function(){
			if(ajax.readyState == 4){
				if(ajax.status == 200){
					document.getElementById("retorno").innerHTML = ajax.responseText;
				}
				else{
					alert(ajax.statusText);
				}
			}
		}

		nome = document.getElementById("nome").value;
		dados = "nome="+nome;
		
		/* QUANTIDADE DE ELEMENTOS */
		qtd_inputs = $('.input').length;
		inputs = $('.input');
		i=0;
		dados ='';
		while(i < qtd_inputs){
			nome_input = inputs[i].name;
			valor_input = inputs[i].value;
			dados = dados+"+&"+nome_input+"="+valor_input;
			i++;
		}
		
		/* PERCONRRENDO TODO O FORMULARIO E MONANDO OS VALORES DA QUERY STRING */
		ajax.open('POST',action,true);
		ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		ajax.send(dados);
	}
}

$(document).ready(function(){
	/* RESGATANDO O ID DO FORMULARIO */
	idformulario = document.forms[0].id;
	idformulario = "#"+idformulario;
	
	/* QUANDO O FORMULARIO FOR ENVIADO 
	   IRA SE CONTAR A QUANTIDADE DE CAMPOS
	   COM A CLASSE OBRIGATORIO
	*/
	$("#submit").click(function(){
		elementos = $('.obrigatorio');
		qtd_elementos = elementos.length;
		
		/* PERCORRENDO CADA ITEM DO FORMULARIO 
			VERIFICANDO SE O CAMPO OBRIGATORIO ESTA
			PREENCHIDO OU NAO.
		*/
		i=0;//ELEMENTOS VALIDOS
		j=0;//ELEMENTOS INVALIDOS
		while(i<qtd_elementos){
		
			if(elementos[i].value.length==0){
				idelemento = elementos[i].id;
				idelemento = "#"+idelemento;
				$(idelemento).css("border","1px solid #840000");
				$(idelemento).css("background","#FFC4C4");
				$(idelemento).css("color","#840000");
				j++;
			
			}
			else{
				idelemento = elementos[i].id;
				idelemento = "#"+idelemento;
				$(idelemento).css("border","1px solid #1188FF");
				$(idelemento).css("background","#CAE4FF");
				$(idelemento).css("color","#000");
			}
			i++;
		}
		
		/* VERIFICANDO SE EXISTE ALGUM CAMPO EM BRANCO */
		if(j==0){
			action=$('#action').val();
			EnviaFormulario(idformulario,action);
		}	
		else{
			return false;
		}
	});
});

	
	
	
  /*********************************************************************/
 /* VALIDACAO DOS CAMPOS DO CADASTRO DO CLIENTE  página: cadastro.php */
/*********************************************************************/
$(document).ready(function(){
	
	$('#submit').click(function(){
		
		/* RESGATANDO O E-MAIL */
		email = $('#email').val();
		
		/* VALIDACAO DO E-MAIL */
		if(email.length == 0 || email.indexOf('@')==-1 || email.indexOf('.com')==-1){
			$('#email').css("border","1px solid #840000");
			$('#email').css("background","#FFC4C4");
			$('#email').css("color","#840000");
			
			alert('ATENÇÃO : Seu e-mail deve ser preenchido na seguinte forma : seuemail@gmail.com. O uso do @ e do .com é obrigatório');
			return false;
		}
		
		
		/* RESGATANDO A SENHA */
		senha = $('#senha').val();
		confirmacao_senha = $('#confirmacao_senha').val();
		
		/* VALIDANDO A SENHA E A CONFIRMACAO DA SENHA. CASO A SENHA OU A CONFIRMACAO DA SENHA ESTEJAM EM BRANCO */
		if(senha.length < 6 || confirmacao_senha.length < 6){
			
			/* APLICANDO O ESTILO */
			$('#senha').css("border","1px solid #840000");
			$('#senha').css("background","#FFC4C4");
			$('#senha').css("color","#840000");
			
			$('#confirmacao_senha').css("border","1px solid #840000");
			$('#confirmacao_senha').css("background","#FFC4C4");
			$('#confirmacao_senha').css("color","#840000");
			
			/* APAGANDO VALORES*/
			$('#senha').val('');
			$('#confirmacao_senha').val('');
			
			alert('ATENÇÃO : Digite corretamente a senha e a confirmação da senha. O campo senha deve ser repetido na sua confirmação e ambas devem conter no mínimo 6 dígitos!');
			return false;
			
		}else{
		
			/* VALIDANDO A SENHA E A CONFIRMACAO DA SENHA. CASO A SENHA OU A CONFIRMACAO DA SENHA ESTEJAM EM DIFERENTES */
			if(senha != confirmacao_senha){
				
				/* APLICANDO O ESTILO */
				$('#senha').css("border","1px solid #840000");
				$('#senha').css("background","#FFC4C4");
				$('#senha').css("color","#840000");
				
				$('#confirmacao_senha').css("border","1px solid #840000");
				$('#confirmacao_senha').css("background","#FFC4C4");
				$('#confirmacao_senha').css("color","#840000");
				
				/* APAGANDO VALORES*/
				$('#senha').val('');
				$('#confirmacao_senha').val('');
				
				alert('ATENÇÃO : Digite corretamente a senha e aconfirmação da senha. Ambos devem ser iguais e conter no mínimo 6 dígitos!');
				return false;
			}
			
		}		
	});
});
