/*	-------------------------------------------------
	VALIDACAO RADIO
	-------------------------------------------------*/
	function validaRadio(radio)
	{
		var obj, ok
		obj = eval(radio)
		ok = false
		for(i=0;i < eval(radio + '.length');i++)
		{
			if(obj[i].checked)
			{
				ok = true;
				break;
			}
		}
		if(!ok)
		{
			return false;
		}
		return ok;
	}

/*	-------------------------------------------------
	VALIDACAO DATA
	-------------------------------------------------*/
	function validaData(dateStr)
	{
		var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{4})$/; // requires 4 digit year
		var matchArray = dateStr.match(datePat); // is the format ok?
		if (matchArray == null)
		{
			alert("Preencha a data corretamente (dd/mm/aaaa)")
			return false;
		}
		month = matchArray[3]; // parse date into variables
		day = matchArray[1];
		year = matchArray[4];
		if (month < 1 || month > 12)
		{ // check month range
			alert("Preencha a data corretamente (dd/mm/aaaa)");
			return false;
		}
		if (day < 1 || day > 31)
		{
			alert("Preencha a data corretamente (dd/mm/aaaa)");
			return false;
		}
		if ((month==4 || month==6 || month==9 || month==11) && day==31)
		{
			alert(month + " não tem 31 dias!")
			return false;
		}
		if (month == 2)
		{ // check for february 29th
			var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
			if (day>29 || (day==29 && !isleap))
			{
				alert("Fevereiro de " + year + " não tem " + day + " dias!");
				return false;
			}
		}
			return true;
	}

/*	-------------------------------------------------
	VALIDACAO EMAIL
	-------------------------------------------------*/
	function isEmail(str)
	{
		var supported = 0;
		if (window.RegExp)
		{
			var tempStr = "a";
			var tempReg = new RegExp(tempStr);
			if (tempReg.test(tempStr)) supported = 1;
		}
		if (!supported) 
		return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
		var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)|( )|(\\.@)");
		var r2 = new RegExp("^.[a-zA-Z0-9\\-\\.\\_]+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
		return (!r1.test(str) && r2.test(str));
	}

/*	-------------------------------------------------
	NULO
	-------------------------------------------------*/
	function checaNulo(campo,descr, flgAlert){
		if(eval(campo + ".value") == ""){
			if(flgAlert){
				alert("Por favor preencha o campo " + descr);
				eval(campo + ".focus()");
			}
			return false;
		}
		return true;
	}

/*	-------------------------------------------------
	NUMERO
	-------------------------------------------------*/
	function checaNumero(numero)
	{
		if (numero.length == 0) return false;
		for (var n = 0; n < numero.length; n++)
			if (numero.substring(n, n+1) < "0" || numero.substring(n, n+1) > "9")
				return false;

		return true;
	}

/*	-------------------------------------------------
	VALIDACAO NOME COM SOBRENOME
	-------------------------------------------------*/
	function validaNome(nmForm)
	{
		var obj, spacePos, strLastName;
		obj = eval(nmForm);

		spacePos = obj.value.indexOf(" ");
		strLastName = obj.value.substring(spacePos+1);

		if (spacePos == 0)
		{
			obj.value = strLastName;
			spacePos = obj.value.indexOf(" ");
			strLastName = obj.value.substring(spacePos+1);
		}

		if(spacePos == -1)
		{
			alert("Digite o seu nome completo.");
			return false;
		}
		else 
		{
			if (strLastName.length >= 2)
			{
				return true;
			}
			else
			{
				alert("Digite o seu sobrenome.")
				return false;
			}
		}
	}

/*	-------------------------------------------------
	VALIDACAO CPF
	-------------------------------------------------*/
	function isCpf(valor)
	{
		if (valor.length==11)
		{
			var aux = 0;
			for (var i=0; i<9; i++)
			{
				aux = aux + parseInt(valor.substr(i,1)) * parseInt(i+1);
			} 

			var resto = aux%11
			if (resto==10) resto=0;
			if(resto==valor.substr(9,1))
			{
				var aux = 0;
				for (var i=1; i<10; i++)
				{
					aux = aux + parseInt(valor.substr(i,1)) * parseInt(i);
				} 

				var resto = aux%11
				if (resto==10) resto=0;
				if(resto==valor.substr(10,1))
				{
					return true;
				}
				else
				{
					return false;
				}

			}
			else
			{
				return false;
			}
		}
	}

/*	-------------------------------------------------
	VALIDACAO DO CAMPOS DO FORMULARIO
	-------------------------------------------------*/
	function valida_campo(tipo, campo){
		switch(tipo)
		{
			case 0: //RETIRA ASPAS SIMPLES E DUPLAS - EVENTO: onKeyPress
			{
				if(event.keyCode == 39 || event.keyCode == 34)
					event.returnValue = false;
				break;
			}
			case 1: //CAMPO ACEITA SOMENTE NUMERO - EVENTO: onKeyPress
			{
				if(event.keyCode <= 45 || event.keyCode > 57 || event.keyCode == 46 || event.keyCode == 47 || event.keyCode == 42 || event.keyCode == 39 || event.keyCode == 34)
					event.returnValue = false;
				break;
			}
			case 2: //CAMPO ACEITA SOMENTE TEXTO - EVENTO: onKeyPress
			{
				if (event.keyCode > 47 && event.keyCode < 58 || event.keyCode == 39 || event.keyCode == 34)
					event.returnValue = false;
				break;
			}
			case 3: //CAMPO ACEITA SOMENTE EMAIL - EVENTO: onChange
			{
				if (campo.value!=''){
					if(!isEmail(campo.value)){
						alert('Digite o seu E-MAIL corretamente');
						event.returnValue = false;
						campo.select();
					}
				}
				break;		
			}
			case 4: //CAMPO ACEITA SOMENTE DATA - EVENTO: onChange
			{
				if (campo.value!=''){
					if(!validaData(campo.value)){
						event.returnValue = false;
						campo.select();
					}
				}
				break;		
			}
			case 5: //CAMPO ACEITA SOMENTE CPF - EVENTO: onChange
			{
				if (campo.value!=''){
					if(!isCpf(campo.value)){
						alert('Digite o seu CPF corretamente');
						event.returnValue = false;
						campo.select();
					}
				}
				break;
			}
			case 6: //CAMPO ACEITA SOMENTE NUMERO(MOEDA) - EVENTO: onKeyPress
			{
				if(event.keyCode <= 43 || event.keyCode == 45 || event.keyCode > 57 || event.keyCode == 47 || event.keyCode == 42 || event.keyCode == 39 || event.keyCode == 34)
					event.returnValue = false;
				break;
			}
		}
	}
