	
	Validacao = {
			
			/*isMail*/
			reEmail : /^[\w-]+(\.[\w-]+)*@(([A-Za-z\d][A-Za-z\d-]{0,61}[A-Za-z\d]\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/,
			msgMail : "é um e-mail inválido",
			
			/*isData*/
			msgData : "Data Inválida",
			
			/*isCPF*/
			msgCPF : "O CPF informado é invalido",
			
			/*isCNPJ*/
			msgCNPJ : "O CNPJ informado é invalido",
			
			/*ComparaDatas*/
			msgDts1 : "As datas de inicio e fim sao iguais.",
			msgDts2 : "Data final e menor que a data inicial.",
			
			/*Global*/
			mensagem : "",
			
			isEmail : function(pStr)
			{
				if (this.reEmail.test(pStr)) {
					return true;
				} else if (pStr != null && pStr != "") {
					this.mensagem = pStr + " " +this.msgMail;
					return false;
				}
			},
			
			isCPF : function(cpf)
			{
				s = cpf.substring(0,3) + cpf.substring(4,7) + cpf.substring(8,11) + cpf.substring(12,14);
				var c = s.substr(0,9);
				var dv = s.substr(9,2);
				var d1 = 0;
				for (var i = 0; i < 9; i++){
					d1 += c.charAt(i)*(10-i);
				}
				if (d1 == 0)
				{
					this.mensagem = this.msgCPF;
					return false;
				}
				
				d1 = 11 - (d1 % 11);
				if (d1 > 9) d1 = 0;
				if (dv.charAt(0) != d1)
				{
					this.mensagem = this.msgCPF;
					return false;
				}
				
				d1 *= 2;
				for (i = 0; i < 9; i++) 
				{
					d1 += c.charAt(i)*(11-i);
				}
				
				d1 = 11 - (d1 % 11);
				if (d1 > 9) d1 = 0;
				if (dv.charAt(1) != d1)
				{
					this.mensagem = this.msgCPF;
					return false;
				}
			
				if (cpf == '111.111.111-11' || cpf == '222.222.222-22' || cpf == '333.333.333-33' || cpf == '444.444.444-44' || cpf == '555.555.555-55' || cpf == '666.666.666-66' || cpf == '777.777.777-77' || cpf == '888.888.888-88' || cpf == '999.999.999-99' || cpf == '012.345.678-90') 
				{
					this.mensagem = this.msgCPF;
					return false;
				}
				
				if (cpf == '111.111.111-11')
				{
					this.mensagem = this.msgCPF;
					return false;
				}
				
				return true;
			},
			
			isCNPJ : function(CNPJ) {
			
				if (CNPJ.length < 18) 
				{
					this.mensagem = this.msgCNPJ;
					return false;
				}
				
				if ((CNPJ.charAt(2) != ".") || (CNPJ.charAt(6) != ".") || (CNPJ.charAt(10) != "/") || (CNPJ.charAt(15) != "-"))
				{
					this.mensagem = this.msgCNPJ;
					return false;
				}
				
				//substituir os caracteres que não são números
				if(document.layers && parseInt(navigator.appVersion) == 4)
				{
					x = CNPJ.substring(0,2);
					x += CNPJ. substring (3,6);
					x += CNPJ. substring (7,10);
					x += CNPJ. substring (11,15);
					x += CNPJ. substring (16,18);
					CNPJ = x;
				} 
				
				else 
				{
					CNPJ = CNPJ. replace (".","");
					CNPJ = CNPJ. replace (".","");
					CNPJ = CNPJ. replace ("-","");
					CNPJ = CNPJ. replace ("/","");
				}
				
				var nonNumbers = /\D/;
				
				if (nonNumbers.test(CNPJ)) 
				{
					this.mensagem = this.msgCNPJ;
					return false;
				}
				
				var a = [];
				var b = new Number;
				var c = [6,5,4,3,2,9,8,7,6,5,4,3,2];
				
				for (i=0; i<12; i++)
				{
					a[i] = CNPJ.charAt(i);
					b += a[i] * c[i+1];
				}
				
				if ((x = b % 11) < 2) 
				{ 
					a[12] = 0 
				} 
				else 
				{ 
					a[12] = 11-x 
				}
				
				b = 0;
				
				for (y=0; y<13; y++)
				{
					b += (a[y] * c[y]);
				}
				
				if ((x = b % 11) < 2) 
				{ 
					a[13] = 0; 
				} 
				else 
				{ 
					a[13] = 11-x; 
				}
				
				if ((CNPJ.charAt(12) != a[12]) || (CNPJ.charAt(13) != a[13]))
				{
					this.mensagem = this.msgCNPJ;
					return false;
				}
				
				return true;
				
			},
			
			isData : function(date)
			{
				var array_data=new Array;
				var ExpReg=new RegExp("(0[1-9]|[12][0-9]|3[01])/(0[1-9]|1[012])/[12][0-9]{3}");
				
				array_data=date.split("/");
				erro=false;
				
				if(date.search(ExpReg)==-1)
					erro=true;
				else if(((array_data[1]==4)||(array_data[1]==6)||(array_data[1]==9)||(array_data[1]==11))&&(array_data[0]>30))
					erro=true;
				else if(array_data[1]==2)
				{
					if((array_data[0]>28)&&((array_data[2]%4)!=0))
						erro=true;
					if((array_data[0]>29)&&((array_data[2]%4)==0))
						erro=true;
				}
				if(erro){
					this.mensagem = this.msgData;
					return false;
				}
				else
					return true;
			},
			
			ComparaDatas : function (data1, data2)
			{
				var nova_data1 = parseInt(data1.split("/")[2].toString() + data1.split("/")[1].toString() + data1.split("/")[0].toString());
				var nova_data2 = parseInt(data2.split("/")[2].toString() + data2.split("/")[1].toString() + data2.split("/")[0].toString());
				
				if (nova_data2 > nova_data1)
				   return true;
				else if (nova_data1 == nova_data2){
					this.mensagem = this.msgDts1;
					return false;
				}
				else{
					this.mensagem = this.msgDts2;
				   return false;
				}
			},
						
			alertaSiteForm : function(messages, objeto)
			{
				if (messages != "")
				{
					$("#erro").css("color","rgb(175,33,0)");
					
					$("#erro").html(messages);
					
					$("#"+objeto).focus();
					
				}
				return false;
			},
			
			alertaContatoForm : function(messages, objeto)
			{
				if (messages != "")
				{
					$("#erroContato").addClass("erroContato");
					
					$("#erroContato").html(messages);
					
					$("#"+objeto).focus();
					
				}
				return false;
			}
		};


