function filter(evt, regex){
	try{
		var charCode = (evt.which) ? evt.which : window.event.keyCode;
		
		if (charCode <= 13)
			return true;
		else{
			var keyChar = String.fromCharCode(charCode);
			var re = new RegExp(regex);
			return re.test(keyChar);
		}
	}catch(error){}
}
function correctValue(id, regex){
	var elem = document.getElementById(id);
	elem.value = elem.value.replace(new RegExp(regex, "g"), "");
}
function validaTextField(id, minLength){
	var elem = document.getElementById(id);
	if(null != elem){
		var maxLength = elem.maxLength;
		if(null!=minLength && null!=maxLength){
			if(minLength != 0){
				if(elem.value.replace(/\s/g,"").length == 0)return false;
			}
			if(-1 == maxLength)
				return (elem.value.length >= minLength);
			else
				return (elem.value.length >= minLength) && (elem.value.length <=maxLength);
		}
		return elem.value.length > 0;
	}
}
function validaRadio(name){
	var elems = document.getElementsByName(name);
	for(var i = 0; i < elems.length ; i++){
		if(elems[i].checked)
			return true
	}
	return false;
}
function isValidEmail(str) {
	var at="@";
	var dot=".";
	var lat=str.indexOf(at);
	var lstr=str.length;
	var ldot=str.indexOf(dot);
	
	if (str.indexOf(at)==-1)
	{
	   return false;
	}

	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr)
	{
	   return false;
	}

	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr)
	{
		return false;
	}

	if (str.indexOf(at,(lat+1))!=-1)
	{
		return false;
	}

	if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot)
	{
		return false;
	}

	if (str.indexOf(dot,(lat+2))==-1)
	{
		return false;
	}
	
	if (str.indexOf(" ")!=-1)
	{
		return false;
	}

	return true;					
}


function validaEmail(id){
	return isValidEmail(document.getElementById(id).value)
}
function validaDia(id){
	var elem = document.getElementById(id);
	if(null!=elem){
		var value = parseInt(elem.value);
		value = (validaNumero(id))?value:0;
		if((value > 0) && (value < 32))
			return true;
	}
	return false;
}
function validaMes(id){
	var elem = document.getElementById(id);
	if(null!=elem){
		var value = parseInt(elem.value);
		value = (validaNumero(id))?value:0;
		if((value > 0) && (value < 13))
			return true;
	}
	return false;
}
function validaAno(id){
	var elem = document.getElementById(id);
	if(null!=elem){
		var value = parseInt(elem.value);
		value = (validaNumero(id))?value:0;
		if((value > 1908) && (value <= (new Date()).getFullYear()))
			return true;
	}
	return false;
}
function validaData(idDia, idMes, idAno){
	if(validaTextField(idDia, 1)){
		if(!validaDia(idDia))
			return false;
	}else return false;
	if(validaTextField(idMes, 1)){
		if(!validaMes(idMes))
			return false;
	}else return false;
	if(validaTextField(idAno, 4)){
		if(!validaAno(idAno))
			return false;
	}else return false;
	return true;
}
function validaTelefone(idDDD, idTel){
	if(validaTextField(idDDD, 2)){
		if(!validaNumero(idDDD))
			return false;
	}else return false;
	if(validaTextField(idTel, 8)){
		if(!validaNumero(idTel))
			return false;
	}else return false;
	return true;
}
function validaNumero(id){
	var elem = document.getElementById(id);
	if(null == elem)return false;
	return !isNaN(parseInt(elem.value));
}
function showOrHide(id){
	var elem = document.getElementById(id);
	elem.style.display = (""==elem.style.display)?"none":"";
}
var messageContainerId = "";
var messageTextId = "";
function showMessage(str){
	document.getElementById(messageTextId).innerHTML = str;
	showOrHide(messageContainerId);
}