window.onload = function()
{
	BuscaCampos();
}


function BuscaCampos()
{
	var formulario;
	
	if (document.FaleConosco)
	{
		formulario = document.FaleConosco;
	}
	
	if (formulario.dsTelefone)
	{
		formulario.dsTelefone.onkeyup = function(){Mascara(this,MaskTelefone);}
	}
	
	if (formulario.dsCelular)
	{
		formulario.dsCelular.onkeyup = function(){Mascara(this,MaskTelefone);}
	}
	
	if (formulario.dsNumero)
	{
		formulario.dsNumero.onkeyup = function(){Mascara(this,MaskNumero);}
	}
	
	if (formulario.nuCEP)
	{
		formulario.nuCEP.onkeyup = function(){Mascara(this,MaskCEP);}
	}
	
	if (formulario.dsMensagem)
	{
		formulario.dsMensagem.onkeyup = function(){LimitaCampo(this, 4000);}
	}
	
	if (formulario.btEnviar)
	{
		formulario.btEnviar.onclick = function(){return Validacao(document.FaleConosco);}	
	}
}

function Mascara(objeto,tipoMascara)
{
    vObj 		= objeto;
    vMascara 	= tipoMascara;
    setTimeout("execmascara()",1)
}

function execmascara()
{
    vObj.value = vMascara(vObj.value);
}

function MaskTelefone(str)
{
    str = str.replace(/\D/g,"")
    str = str.replace(/^(\d{2})(\d)/g,"($1) $2")
    str = str.replace(/(\d{4})(\d)/,"$1-$2")
    return str
}

function MaskNumero(str)
{
	str = str.replace(/\D/g,"");
	return str;
}

function MaskCEP(str)
{
	str = str.replace(/\D/g,"");
	str = str.replace(/(\d{5})(\d)/,"$1-$2");
	return str;
}

function LimitaCampo(obj, maxLength)
{
	var str = obj.value;
	if (str.length > maxLength)
	{
		obj.value = obj.value.substring(0,maxLength);
	}
	document.FaleConosco.qtCaracteres.value = str.length;
}

function Validacao(formulario)
{
	var valido = false;
	LimpaFormataLabel();

	if 	(
			(ValidaObrigatorio(formulario.nmContato)) &
			(ValidaTelefone(formulario.dsTelefone)) &
			(ValidaTelefone(formulario.dsCelular)) &
			(ValidaEmail(formulario.dsEmail)) &
			(ValidaCEP(formulario.nuCEP)) &
			(ValidaObrigatorio(formulario.dsCidade)) &
			(ValidaObrigatorio(formulario.dsMensagem))
		)
	{
		valido = true
	}
	return valido;
}

function FormataLabel(id)
{
	var labels = document.getElementsByTagName("label");
	for (var i = 0; i < labels.length; i++)
	{
		if (labels[i].htmlFor == id)
		{
			labels[i].style.color = "red";
		}
	}
}

function LimpaFormataLabel()
{
	var labels = document.getElementsByTagName("label");
	for (var i = 0; i < labels.length; i++)
	{
		labels[i].style.color = "";
	}
}

function ValidaTelefone(objItem)
{
	var valido = true;
	var erTelefone = /^\([0-9]{2}\) [0-9]{4}-[0-9]{4}$/;
	if (objItem)
	{
		if (objItem.value.length != 0)
		{
			if (!erTelefone.test(objItem.value))
			{
				FormataLabel(objItem.id);
				valido = false;
			}
		}
	}
	return valido;
}

function ValidaObrigatorio(objItem)
{
	var valido = true
	if (objItem)
	{
		if (objItem.value.length == 0)
		{
			FormataLabel(objItem.id);
			valido = false
		}
	}
	return valido;
}

function ValidaEmail(objItem)
{
	var valido = true
	var erEmail = /^[\w!#$%&'*+\/=?^`{|}~-]+(\.[\w!#$%&'*+\/=?^`{|}~-]+)*@(([\w-]+\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/;
	if (objItem)
	{
		if (!erEmail.test(objItem.value))
		{
			FormataLabel(objItem.id);
			valido = false;
		}
	}
	return valido;
}

function ValidaCEP(objItem)
{
	var valido = true;
	var erCEP = /^[0-9]{5}-[0-9]{3}$/;

	if (objItem && objItem.value != "")
	{
		if (!erCEP.test(objItem.value))
		{
			FormataLabel(objItem.id);
			valido = false;
		}
	}
	return valido;
}
