function replaceSpecialChars(str) {
	var specialChars = [
	{val:"a",let:"áàãâä"},
	{val:"e",let:"éèêë"},
	{val:"i",let:"íìîï"},
	{val:"o",let:"óòõôö"},
	{val:"u",let:"úùûü"},
	{val:"c",let:"ç"},
	{val:"A",let:"ÁÀÃÂÄ"},
	{val:"E",let:"ÉÈÊË"},
	{val:"I",let:"ÍÌÎÏ"},
	{val:"O",let:"ÓÒÕÔÖ"},
	{val:"U",let:"ÚÙÛÜ"},
	{val:"C",let:"Ç"},
	{val:"",let:"?!()"}
];
	var $spaceSymbol = ' ';
	var regex;
	var returnString = str;
	for (var i = 0; i < specialChars.length; i++) {
		regex = new RegExp("["+specialChars[i].let+"]", "g");
		returnString = returnString.replace(regex, specialChars[i].val);
		regex = null;
	}
	return returnString.replace(/\s/g,$spaceSymbol);
}
function validaNewsPt(frm) { 
  if (frm.Email.value == ''|| frm.Email.value == 'seu e-mail' || frm.Email.value.indexOf("@") == -1 || frm.Email.value.indexOf(".") == -1) {
	alert('Por favor informe um E-mail válido');
	frm.Email.focus();
	return false;
 }
  return true;	
 }
 function validaNewsEn(frm) { 
  if (frm.Email.value == ''|| frm.Email.value == 'seu e-mail' || frm.Email.value.indexOf("@") == -1 || frm.Email.value.indexOf(".") == -1) {
	alert('Por favor informe um E-mail válido');
	frm.Email.focus();
	return false;
 }
  return true;	
 }
 function validaNewsEs(frm) { 
  if (frm.Email.value == ''|| frm.Email.value == 'seu e-mail' || frm.Email.value.indexOf("@") == -1 || frm.Email.value.indexOf(".") == -1) {
	alert('Por favor informe um E-mail válido');
	frm.Email.focus();
	return false;
 }
  return true;	
 }
 function newsletterPt(txt)
{
	if(txt == '')
	{
		nomecampo('Email').value ='';
		alert('E-mail cadastrado com sucesso!');
	}
	else
	{
		alert('ERRO:\nOcorreu um erro durante sua solicitação.\nTente novamente mais tarde.')
	}
}
 function newsletterEn(txt)
{
	if(txt == '')
	{
		nomecampo('Email').value ='';
		alert('E-mail cadastrado com sucesso!');
	}
	else
	{
		alert('ERRO:\nOcorreu um erro durante sua solicitação.\nTente novamente mais tarde.')
	}
}

 function newsletterEs(txt)
{
	if(txt == '')
	{
		nomecampo('Email').value ='';
		alert('E-mail cadastrado com sucesso!');
	}
	else
	{
		alert('ERRO:\nOcorreu um erro durante sua solicitação.\nTente novamente mais tarde.')
	}
}

function SomenteNumero(src)
{
	
	 string = src.value.replace(/\D/gi,'');
	 src.value=string;	
}

function Click(id){

		if (nomecampo(id).style.display == 'none')
		{
			nomecampo(id).style.display = ''
		}
		else
		{
			nomecampo(id).style.display = 'none'
		}
		
}
function nomecampo(id)
{
	return document.getElementById(id)
}
function validaForm(frm, excecoes, validados)
{
	printConfig(frm)
	
	Array.prototype.busca = function busca(txt)
	{
		var i
		for(i = 0; i < this.length; i++)
		{
			if(this[i] == txt)
				return true
		}
		return false
	}
	
	if(excecoes)
		excecoes = excecoes.split(',')
	else
		excecoes = new Array()
		
	if(validados)
		validados = validados.split(',')
	else
		validados = new Array()
	
	for(i = 0; i < frm.length; i++)
	{
		obj = frm.elements[i]
		
		if(excecoes.length > 0)
		{
			if(!excecoes.busca(obj.name))
			{
				if(!tagName(obj))
					return false
			}
		}
		else if(validados.length > 0)
		{
			if(validados.busca(obj.name))
			{
				if(!tagName(obj))
					return false
			}
		}
		else
		{
			if(!tagName(obj))
				return false
		}
	}
	return true
}

function tagName(obj)
{
	if(obj.name.substr(0,5).toLowerCase() == 'email')
	{
		if(!validaEmail(obj))
		{
			return false
		}
	}
	else if(obj.name.substr(0,8).toLowerCase() == 'telefone')
	{
		if(!validaTelefone(obj))
		{
			return false
		}
	}
	else if(obj.name.substr(0,4).toLowerCase() == 'data')
	{
		if(!validaData(obj))
		{
			alert('O campo ' + obj.name + ' está incorreto.')
			obj.focus()
			return false
		}
	}
	
	switch(obj.tagName)
	{
		case 'SELECT':
			if(obj.value == '')
			{
				obj.focus()
				alert('Selecione o campo ' + obj.name)
				return false
			}
			return true
			break
		case 'TEXTAREA':
			if(obj.value == '')
			{
				obj.focus()
				alert('Preencha o campo ' + obj.name)
				return false
			}
			return true
			break
		case 'INPUT':
			return Input(obj)
			break
	}
}

function Input(obj)
{
	switch(obj.type)
	{
		case "hidden":
		case "image":
		case "button":
			return true
			break
		case "file":
			if(obj.value == '')
			{
				obj.focus()
				alert('Selecione um Arquivo' )
				return false
			}
			return true
			break
		case "text":
			if(obj.value == '')
			{
				obj.focus()
				alert('Preencha o campo ' + obj.name)
				return false
			}
			return true
			break
		case "checkbox":
			var checkbox = document.getElementsByName(obj.name)
			var i, checked = 0
			for(i = 0; i < checkbox.length; i++)
			{
				if(checkbox[i].checked)
					checked = 1
			}
			if(checked == 0)
			{
				obj.focus()
				alert('Selecione o campo ' + obj.name)
				return false
			}
			else
				return true
			break
		case "radio":
			var radio = document.getElementsByName(obj.name)
			var i, checked = 0
			for(i = 0; i < radio.length; i++)
			{
				if(radio[i].checked)
					checked = 1
			}
			if(checked == 0)
			{
				obj.focus()
				alert('Selecione o campo ' + obj.name)
				return false
			}
			else
				return true
			break
		default:
			return true
			break
	}
}

function printConfig(frm)
{
	Array.prototype.busca = function busca(txt)
	{
		var i
		for(i = 0; i < this.length; i++)
		{
			if(this[i] == txt)
				return true
		}
		return false
	}
	var printConfig = Array()
	if(frm.print_config)
	{
		for(i = 0; i < frm.length; i++)
		{
			if(frm.elements[i].tagName == 'INPUT')
			{
				if(frm.elements[i].type != 'hidden')
				{
					if(!printConfig.busca(frm.elements[i].name))
					{
						printConfig.push(frm.elements[i].name)
					}
				}
			}
			else
			{
				if(!printConfig.busca(frm.elements[i].name))
				{
					printConfig.push(frm.elements[i].name)
				}
			}
		}
		frm.print_config.value = printConfig.toString()
	}
}
function formatar(src,mask,validador,somenteNumero,e)
{
	var tecla = (e.keyCode) ? e.keyCode : e.charCode
	if(tecla != 8)
	{
		string = src.value
		aux = ''
		
		if(string == '') return
		
		if(somenteNumero == 's')
		{
			string = string.replace(/\D/gi,'')
		}
		
		val = mask.replace(validador,'')
		for(i = 0; i < val.length; i++)
		{
			string = string.replace(val.charAt(i),'')
		}
		
		mask = mask.split('')
		string = string.split('')
		
		v = Array(mask.length)
		pV = 0
		pString = 0
		
		for (pMask = 0; pMask < mask.length; pMask++)
		{
			if(mask[pMask] != validador)
			{
				v[pV] = mask[pMask]
				pV++
			}
			else
			{
				v[pV] = string[pString]
				pV++
				pString++
			}
			
			if(pString > string.length)
				break
		}
	
		src.value = v.join('')
	}
}
function validaEmail(campo)
{   
	if (!ConsisteEmail(campo.value)  && campo.value != '')
	{
		alert("Favor Digitar o Email Corretamente.");
		campo.focus();
		return false
	}
	return true
}

function ConsisteEmail(valor) 
{
	var reg = /\w{1,}[@]\w{1,}[.]\w{1,}/
	return reg.test(valor);
}

function validaTelefone(campo)
{
	var reg = /[(]\d{2}[)]\s{1}\d{4}[-]\d{4}/
	
	if (!reg.test(campo.value)  && campo.value != '')
	{
		alert("O campo " + campo.name + " está em um formato incorreto.");
		campo.focus();
		return false
	}
	return true
}

function validaData(campo)
{
	var reg = /\d{2}[\/]\d{2}[\/]\d{4}/
	
	if(!reg.test(campo.value) && campo.value != '')
		return false
	
	
	dia = parseInt(campo.value.substr(0,2))
	mes = parseInt(campo.value.substr(3,2))
	ano = parseInt(campo.value.substr(6,4))
	
	data = new Date()
	dias = Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31)
	if(data.getFullYear() % 4 == 0)
		dias[1] = 29
				
	if(mes < 1 || mes > 12)
		return false
		
	if(dia < 1 || dia > dias[mes - 1])
		return false
		
	return true
}

function httpRequest(strUrl, strFnc, post)
{
	
	if (window.XMLHttpRequest) {
		objReq = new XMLHttpRequest();
	}
	else if (window.ActiveXObject) {
		objReq = new ActiveXObject("Microsoft.XMLHTTP");
	}
	objReq.open("GET", strUrl, true);
	objReq.send(null);
	if (strFnc != "") {
		objReq.onreadystatechange = function() 
		{
			if (objReq.readyState == 4)
			{
				eval(strFnc + '(objReq.responseText,'+post+')');
			}
		};
	}
}



function carregaCidades(cidade,estado){
httpRequest('ajax_cidades.asp?cid='+cidade+'&est='+estado, 'escreveCidade');
}

function escreveCidade(str){
	document.getElementById('tdcidade').innerHTML = str;
}

function abreSexy(x){	
	var a=document.getElementById(x);
	
	if(window.event)
			{
			
				a.click()
			}
			else
			{
				var evt = document.createEvent("MouseEvents")
				evt.initMouseEvent("click", true, true, this, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
				a.dispatchEvent(evt);
			}
}



    <!--
        function mOvr(src, clrOver) {
            var e = (window.Event) ? window.Event : event;
            if (!contains(src, e.fromElement)) {
                src.style.cursor = 'pointer';
                src.bgColor = clrOver;
            }
        }
        function mOut(src, clrIn) {
            var e = (window.Event) ? window.Event : event;
            if (!contains(src, e.toElement)) {
                src.style.cursor = 'default';
                src.bgColor = clrIn;
            }
        }
		function contains(a, b) {
            for (var i = a.childNodes, x = 0; x < i.length; x++)
                if (i[x] == b || (i[x].hasChildNodes() && contains(i[x], b)))
                return true;
            return false;
        }
    -->
