/**$(): utilizado em todas as funções que devem ser referenciadas a jQuerydocument: expressção que indica o documento HTMLready(): associado a leitura do documento enquanto está sendo carregado*/$(document).ready(function(){		String.prototype.trim = function(){	return this.replace(/^\s+|\s+$/g,'');}	// String.isEmpty ()	String.prototype.isEmpty = function(){		return this.split(" ").join("").length == 0;}		// String.isEmail ()	String.prototype.isEmail = function(){		var er = /^[a-z0-9._-]+@([a-z0-9]+[a-z0-9_-]*)+(\.[a-z0-9]+)+$/;		return er.test(this);}		// String.IsNumeric()	String.prototype.isNumeric = function ()	{		var testaNumero = /[^0-9]+$/;		return testaNumero.test(this);	}		// strin.IsDate()	String.prototype.isDate = function () 	{		var datePat = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;		return datePat.test(this);	}		function validarCampos(parametros){				// Criando uma variavel string com tera os campos que sao requeridos para validacao		var campos = "";				// Os campos requeridos tem apos o nome o caracter "_"		// Neste loop, pega-se os campos que tem este caracter		for ( i=0; i<parametros.length; i++ ){			// Para cada campo pega-se do valor do campos ao sinal igual "="			nome_campo = parametros[i].substr(-parametros[i].length,parametros[i].indexOf("="));			// Cria uma string separado por &			// Verifica se o ultimo caracter do nome do campo é igual ao caracter _			if ( nome_campo.substr(nome_campo.length - 1) == '_' ){				campos += parametros[i] + "&";			}		}				// retira o ultimo &		campos = campos.substr(0,campos.length - 1);				campos_novos = campos.split("&")				for ( j=0; j<campos_novos.length; j++ ){			var campo_name_sem_borda = campos_novos[j].substr(-campos_novos[j].length,campos_novos[j].indexOf("="));			$('#'+campo_name_sem_borda).css("background-color","#FFF");			}					for ( i=0; i<campos_novos.length; i++ ){						var campo_name = campos_novos[i].substr(-campos_novos[i].length,campos_novos[i].indexOf("="));			var campo_value = campos_novos[i].substr(campos_novos[i].indexOf("=")+1);						if ( campo_value.isEmpty() || campo_value == 'nenhum' || campo_value == '' ){								$('#loading').show();				$('#loading').html('<p class="erro">Por favor, os campos em vermelho precisam ser preenchidos.</p>');				$('#'+campo_name).css("background-color","#FFBBBB");								var t = true;			}		}				if ( t ){						return false;				}else{						if ( ! $('#email_').attr('value').isEmail() ){							$('#loading').show();				$('#loading').html("O E-mail informado é inválido.");				$('#email_').focus();				$('#email_').css("background-color","#FFBBBB");				return false;									}else{				return true;				}					}			}		// Crio uma variavel chamada $forms que pega o valor da tag form    $forms = $('form');    // hide(): esconde a div cadastro enquanto carrega o ready()    //$('#contato').hide();    /**     bind(): E manipulador de evento exemplo submit, click e/ou double click     a: e a tag <a href>    */	//Campo com o carregar do ajax	var ajax_loader = '<img src="../ajax-loader.gif" alt="CARREGANDO..." />';		$('#loading').html(ajax_loader);	$('#loading').hide();	    $forms.bind('submit', function(){		        /**        Crio a variavel $button        attr(): set a propriedade de um atributo, nesse exemplo foi desativado o botao com a tag button        */        var $button = $('button',this).attr('disabled',true);        /**       Criada a variavel params        serialize(): pega os dados inseridos no formulario        */        var params = $(this.elements).serialize();        		var $paramentros = params.split("&");				if ( validarCampos($paramentros) ){			$('#loading').html(ajax_loader);			$('#loading').hide();			        var self = this;	        $.ajax({		            // Usando metodo Post	            type: 'POST',		            // this.action pega o script para onde vai ser enviado os dados	            url: this.action,		            // os dados que pegamos com a funcao serialize()	            data: params,		            // Antes de enviar	            beforeSend: function(){	                // mostro a div loading	                $('#loading').show();		                // html(): equivalente ao innerHTML	                //$('#loading').html('<img src="ajax-loader.gif" alt="CARREGANDO..." />');	            },	            success: function(txt){	                // Ativo o botao usando a funcao attr()	                $button.attr('disabled',false);	                // Escrevo a mensagem	                $('#loading').html(txt);		                // Limpo o formulario	                self.reset();	            },		            // Se acontecer algum erro e executada essa funcao	            error: function(txt){	                $('#loading').html(txt);	            }	        })					}					        return false;    });		/*    $('#teste').bind('click', function(){        var self = this;        $.ajax({            // Usando metodo Post            //type: 'POST',            // this.action pega o script para onde vai ser enviado os dados            url: 'teste.php',            // Antes de enviar            beforeSend: function(){                // mostro a div loading                $('#loading').show();                // html(): equivalente ao innerHTML                $('#loading').html("Carregando...");            },            success: function(txt){                				// Escrevo a mensagem                $('#loading').html(txt);            },            // Se acontecer algum erro � executada essa fun��o            error: function(txt){                $('#loading').html(txt);            }			        })        return false;    });	*/	});
