// Copyright (c) 2008 Carlos Alan P. Alves (carlosalan86@gmail.com)
//
// Plugin Resonsavel pela validação de formulário.
// O mesmo é totalmente free. Foi feito no intuito de ajudar novatos que queiram aprender.
// Peso apenas que não tire a minha autoria.
// Muito Obrigado.

jQuery.fn.validacao = function(options) {
    var form = this;
    var settings = {
		envio: 'form',
        elementos_form: 'input[type="text"]'
	};

	if(options) { jQuery.extend(settings, options); } 
	
    jQuery('button[id="submit"]').click(function() {
        jQuery("#aviso").html('');
        if(form.is('form'))
		{
            var x = 0;
            var ca = "";
            jQuery(settings.elementos_form, form).each(function() {
                var elemento = jQuery(this);
                if(elemento.attr('title'))
                {
					var tipo = jQuery(elemento)[0].type;
					switch(tipo)
					{
						case 'text':
						case 'select-one':
							if(elemento.val() == "" || elemento.val() == 0)
							{
							    if(ca == "")
		            		     ca = elemento;
		                        ca.focus();
		            		    x = (x + 1);
		                        if(jQuery('#'+elemento.attr('name')).attr('id') == null)
		                            jQuery('<span id="'+elemento.attr('name')+'" class="msgErro">'+elemento.attr('title')+'</span>').insertAfter(elemento);
		                        elemento.addClass("erro");
							}
						break;
                    }
                }

                jQuery(elemento).keypress(function (e) {
                    if(jQuery(this).attr('class') == 'erro')
                    {
                        jQuery(this).removeClass("erro");
				        jQuery('#'+jQuery(this).attr('name')).remove();
                    }
                });
				
				jQuery(elemento).click(function (e) {
                    var campo = jQuery(this);
                    if(campo.attr('class') == 'erro')
                    {
                        campo.removeClass("erro");
				        jQuery('#'+campo.attr('name')).remove();
                    }
                });
            });

        	if (settings.email)
        	{
    			if(x == 0)
    			{
            		if (jQuery(settings.email).val()) {
                        if ((jQuery(settings.email).val().indexOf("@") == -1) || (jQuery(settings.email).val().indexOf(".") == -1) || (jQuery(settings.email).val().indexOf("@.") != -1) || (jQuery(settings.email).val().indexOf('.') < 5))
                        {
                            x = 1;
                            jQuery(settings.email).focus();
                            jQuery(settings.email).addClass("erro");
                            if(jQuery('#'+jQuery(settings.email).attr('name')).attr('id') == null)
                                jQuery('<span id="'+jQuery(settings.email).attr('name')+'" class="msgErro">Por favor digite seu e-mail corretamente</span>').insertAfter(jQuery(settings.email));

                        }
            		}
    			}
        	}
			
			if(x == 0)
			{
				switch(settings.envio)
				{
					case 'form':
					    jQuery("#aviso").html('Aguarde...');
					    jQuery.ajax({
					        type: "POST",
		                    url: settings.pagina,
		                    data: jQuery("form").serialize(),
		                    success: function(msg) {
							         jQuery("#aviso").html(jQuery("#aviso").attr('title'));
		                        jQuery(settings.elementos_form, form).each(function() {
		                            var elemento = jQuery(this);
		                            elemento.val('');
		                        });
		                    }
		                })
					break;
					
					case 'file':
					    window.document.depoimento.action = '../auxiliar.php';
		                window.document.depoimento.submit();
					break;
				}
			}
		}
	 return false;
    });
};
