// JavaScript Document

function AbreContato(){


	var intLargura =465;
	var intAltura = 365;
	
	var intPosLeft = screen.width/2 - intLargura/2;
	var intPosTop = screen.height/2 - intAltura/2;

	window.open('contato.asp?','Contato','height=' + intAltura + ',width=' + intLargura + ',scrollbars=yes,status=no,toolbar=no,menubar=no,location=no,resizable=no,top=' + intPosTop + ',left=' + intPosLeft)
	

}








/****************** FORMULARIO *********************************/


function LTrim(String) {
		var i = 0;
		var j = String.length - 1;
	
		if (String == null) return (false);
		for (i = 0; i < String.length; i++)	{
			if (String.substr(i, 1) != ' ' && String.substr(i, 1) != '\t') break;
		}
		if (i <= j) return (String.substr(i, (j+1)-i)); else return ('');
	}
	
	function RTrim(String) {
		var i = 0;
		var j = String.length - 1;
	
		if (String == null) return (false);
		for(j = String.length - 1; j >= 0; j--) {
			if (String.substr(j, 1) != ' ' && String.substr(j, 1) != '\t') break;
		}
		if (i <= j) return (String.substr(i, (j+1)-i)); else return ('');
	}

	function Trim(String) {
		if (String == null) return (false);
		return RTrim(LTrim(String));
	}
	
	function fnc_ValidaEmail(strEmail) {
		var emailPat=/^(.+)@(.+)$/
		var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]?&'%~#´`"
		var validChars="\[^\\s" + specialChars + "\]"
		var quotedUser="(\"[^\"]*\")"
		var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
		var atom=validChars + '+'
		var word="(" + atom + "|" + quotedUser + ")"
		var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
		var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")
		
		var matchArray=strEmail.match(emailPat)
		if (matchArray==null) {
			return false
			}
		var user=matchArray[1]
		var domain=matchArray[2]
		
		if (user.match(userPat)==null) {
			return false
			}
		
		var IPArray=domain.match(ipDomainPat)
		if (IPArray!=null) {
			for (var i=1;i<=4;i++) {
				if (IPArray[i]>255) {
					return false
					}
				}
				return true
			}
		
		var domainArray=domain.match(domainPat)
		if (domainArray==null) {
			return false
			}
		
		var atomPat=new RegExp(atom,"g")
		var domArr=domain.match(atomPat)
		var len=domArr.length
		if ( (domArr[domArr.length-1].length < 2) || (domArr[domArr.length-1].length > 3) ) {
			return false
			}
		
		if (len < 2) {
			return false
			}
		return true;
	}
function fnc_CheckRadioPreenchido(str_NameForm, str_NomeCampo, str_Mensagem) {
		var obj_Input = document.getElementsByTagName("input");
		var int_IndiceArr = 0;
		var bln_CheckboxSelecionado = false;

		for (int_IndiceArr = 0; int_IndiceArr < obj_Input.length; int_IndiceArr++) {		
			if (obj_Input[int_IndiceArr].name == str_NameForm) {
				if (obj_Input[int_IndiceArr].checked == true) {
					bln_CheckboxSelecionado = true;
				}
			}
		}
		
		if (bln_CheckboxSelecionado == false) {
			alert(str_Mensagem + " " + str_NomeCampo + ".");
			return(true);
		}
		else {
			return(false);
		}
}	
function fnc_InputPreenchido(str_IDCampoInput, str_NomeCampo, strMensagem, str_MensagemFinal) {
	var str_DadoInput = document.getElementById(str_IDCampoInput).value; 
	if (Trim(str_DadoInput) == "") {
		alert(strMensagem + " " + str_NomeCampo + " " + str_MensagemFinal);
		document.getElementById(str_IDCampoInput).focus();
		return(true);
	}
}

function fnc_SelectPreenchido(str_IDCampoSelect, str_NomeCampo, strMensagem, str_MensagemFinal) {
	var str_DadoSelect = document.getElementById(str_IDCampoSelect).options[document.getElementById(str_IDCampoSelect).selectedIndex].value;

	if ((!str_DadoSelect)||(str_DadoSelect==-1)) {
		alert(strMensagem + " " + str_NomeCampo + " " + str_MensagemFinal);
		document.getElementById(str_IDCampoSelect).focus();
		return(true);
	}
}

function fnc_InputEmail(str_IDCampoInput, str_NomeCampo, strMensagem, str_MensagemFinal) {
	var str_DadoInput = document.getElementById(str_IDCampoInput).value; 
	if (Trim(str_DadoInput) == "") {
		alert(strMensagem + " " + str_NomeCampo);
		document.getElementById(str_IDCampoInput).focus();
		return(true);
	}
	
	if (fnc_ValidaEmail(str_DadoInput) == false) {
		alert("Por favor, preencha um e-mail válido.");
		document.getElementById(str_IDCampoInput).focus();
		return(true);			
	}
}


function fncEnviarContato(){
	
	var objFormulario = document.getElementById("FormContato");
	
	if(!fnc_InputPreenchido('strNome', 'Nome', 'Por favor, preencha o campo', '')){
		if (!fnc_InputEmail('strEmail', 'Email', 'Por favor, preencha o campo', '')){
			if (!fnc_InputPreenchido('strEstado', 'Estado', 'Por favor, preencha o campo', '')){		
				if (!fnc_InputPreenchido('strCidade', 'Cidade', 'Por favor, preencha o campo', '')){
					if(!fnc_InputPreenchido('strDDDFone', 'DDD', 'Por favor, preencha o campo', '')){
						if(!fnc_InputPreenchido('strFone', 'Telefone', 'Por favor, preencha o campo', '')){
							if(!fnc_SelectPreenchido('selectDestino', 'Destino', 'Por favor, preencha o campo', '')){
								if(!fnc_InputPreenchido('strMensagem', 'Mensagem', 'Por favor, preencha o campo', '')){
									objFormulario.submit();			
								}
							}
						}
					}
				}
			}

		}
	}



}

function fnc_EstadosListar(str_IDCampoPais, int_CodEstadoSelec, str_IDCampoEstado, str_IDCampoCidade) {
	var obj_Select = document.getElementById(str_IDCampoPais);
	fnc_ExecutarASP("fnc_EstadosListar", "common/asp/inc_listar_estados.asp?CodPais=" + obj_Select[obj_Select.selectedIndex].value + "&CodEstado=" + int_CodEstadoSelec + "&IDCampoEstado=" + str_IDCampoEstado +  "&IDCampoCidade=" + str_IDCampoCidade);
	if (obj_Select[obj_Select.selectedIndex].value == 1) {
		document.getElementById("TR_Estado").style.display = "block";

	}
	else {
		document.getElementById("TR_Estado").style.display = "none";
	}
}
function fnc_AtualizarCidade(str_IDCampoRegiao, str_IDCampoCidade, lng_CodCidadeSel) {
	var obj_Select = document.getElementById(str_IDCampoRegiao);
	var obj_SelectPais = document.getElementById('PaisForm');

	fnc_ExecutarASP("fnc_AtualizarCidade", "common/asp/inc_listar_cidade.asp?CodPais=" + obj_SelectPais.value + "&q_CodEstado=" + obj_Select[obj_Select.selectedIndex].value + "&q_IDCampoCidade=" + str_IDCampoCidade + "&q_CodCidadeSel=" + lng_CodCidadeSel);
}

function fnc_ExecutarASP(str_FuncaoQueChamou, str_ArquivoASP) {
	var obj_TagHead = document.getElementsByTagName("head").item(0);
	var obj_ExisteTagScript = document.getElementById(str_FuncaoQueChamou);
	var obj_TagScript;
	/*-----------------------------------------------------------------------------------------
		Verifica se a função que monta o HTML já está criada. Se já foi criada, apaga ela, e
		recria de acordo com os parametros do ASP */
	if (obj_ExisteTagScript) {
		obj_TagHead.removeChild(obj_ExisteTagScript);
	}
	/*--------------------------------------------------------------------------------------*/
	obj_TagScript = document.createElement("script");
	obj_TagScript.src = str_ArquivoASP;
	obj_TagScript.type = "text/javascript";
	obj_TagScript.id = str_FuncaoQueChamou;
	obj_TagHead.appendChild(obj_TagScript);
}


function fncEnviaCadastroPeq(){
	strNome = document.getElementById("strNomeCadastro").value;
	strEmail = document.getElementById("strEmailCadastro").value;
	if((strNome.toLowerCase()!='seu nome')&&((strEmail.toLowerCase()!='seu e-mail'))){
		window.location='cadastro.asp?strNome='+strNome+'&strEmail='+strEmail;
	}
	else{
		alert("Preencha seus dados");	
	}

}

function links(i){

	var strMouseOver=new String (document.links[i].getAttribute('onmouseover'));
	
	if(strMouseOver.indexOf('window.status')==-1){
		var old = (document.links[i].onmouseover) ? document.links[i].onmouseover : function () {};
		if(document.links[i].childNodes[0]){
			if(document.links[i].childNodes[0].nodeType==3){
				
				var tamanho = document.links[i].childNodes[0].nodeValue;
				
				if(tamanho.length>60){
					document.links[i].onmouseover = function () {old();window.status='Quando o texto é maior que 60 caracteres';return true;};
				}
				
				else{
					document.links[i].onmouseover = function () {old(); window.status=document.links[i-1].childNodes[0].nodeValue;return true;};
				}
			}
			
			else{
				
				var texto=false;
				
				for(j=0;j<document.links[i].childNodes.length;j++){
					
					if(document.links[i].childNodes[j].nodeType==3){
						var filho;
						((j>=1) ? filho=j : filho=j-1);
						document.links[i].onmouseover = function () {old(); window.status=document.links[i-1].childNodes[filho].nodeValue;return true;};
						texto=true;
					}
					
				}
	
				if(!texto){
					if(document.links[i].childNodes[0].alt){
						document.links[i].onmouseover = function () {old();window.status=document.links[i-1].childNodes[0].alt;return true;};
					}
					else{
						document.links[i].onmouseover = function () {old();window.status='Quando nao tem mouseover na imagem no html';return true;};
					}
				}
					
			}
		}
	}
	document.links[i].onmouseout = function(){window.status='';return true;};
	i++;
	if(i<document.links.length){
		links(i);
	}
}

function valida_dia(intDia) {

	if ( (intDia > 31) || (intDia < 1)) {
		return false;
	}
	if ( isNaN(intDia) ) {
		return false;
	}

	return true;
}

function valida_mes(intMes) {

	if ( (intMes > 12) || (intMes < 1)) {
		return false;
	}
	if ( isNaN(intMes) ) {
		return false;
	}

	return true;
}

function valida_ano(intAno) {

	if ( (intAno.length < 4) || (intAno < 1) ) {
		return false;
	}
	if ( isNaN(intAno) ) {
		return false;
	}

	return true;
}

function ApagarData(strFormulario, strCampoDia, strCampoMes, strCampoAno, strPathWindow) {

	var Formulario;

	if (strPathWindow == null) { Formulario = "document." + strFormulario; } else { Formulario = "window.top." + strPathWindow + ".document." + strFormulario; }

	eval(Formulario + "." + strCampoDia + ".value = '';");
	eval(Formulario + "." + strCampoMes + ".value = '';");
	eval(Formulario + "." + strCampoAno + ".value = '';");
}

/* Funcao que valida uma data OPCIONAL em um formulario de tres campos (dia, mes e ano)
 Parametros (ordenadamente):
 Nome do Form, Nome do campo de texto dia, Nome do campo de texto mes, Nome do campo de texto ano,
 Path para reconhecer a data em outro frame referenciando a pagina top, exemplo: 'frames[1].frames[0]'
*/
function ValidaDataOpcionalFORM(strFormulario, strCampoDia, strCampoMes, strCampoAno, strPathWindow) {

	var Formulario;

	if (strPathWindow == null) { Formulario = "document." + strFormulario; } else { Formulario = strPathWindow + ".document." + strFormulario; }

	var FormularioDia = eval(Formulario + "." + strCampoDia);
	var FormularioMes = eval(Formulario + "." + strCampoMes);
	var FormularioAno = eval(Formulario + "." + strCampoAno);

	var intDia = Trim(FormularioDia.value);
	var intMes = Trim(FormularioMes.value);
	var intAno = Trim(FormularioAno.value);

	if ( (intDia != "") || (intMes != "") || (intAno != "") ) {
		if ( (intDia != "") && (intMes != "") && (intAno != "") ) {
			if (!valida_dia(intDia)) {
				FormularioDia.focus();
				return false;
			}
			else if (!valida_mes(intMes)) {
					FormularioMes.focus();
					return false;
				}
				else if (!valida_ano(intAno)) {
						FormularioAno.focus();
						return false;
					}

			var strData = intDia + "/" + intMes + "/" + intAno
			if (!ValidaData(strData)) { FormularioDia.focus(); return false; }
		}
		else {
			FormularioDia.focus();
			return false;
		}
	}

	return true;

}

/* Funcao que valida uma data OBRIGATORIA em um formulario de tres campos (dia, mes e ano)
 Parametros (ordenadamente):
 Nome do Form, Nome do campo de texto dia, Nome do campo de texto mes, Nome do campo de texto ano,
 Path para reconhecer a data em outro frame referenciando a pagina top, exemplo: 'frames[1].frames[0]'
*/
function ValidaDataObrigatoriaFORM(strFormulario, strCampoDia, strCampoMes, strCampoAno, strPathWindow) {

	var Formulario;

	if (strPathWindow == null) { Formulario = "document." + strFormulario; } else { Formulario = strPathWindow + ".document." + strFormulario; }

	var FormularioDia = eval(Formulario + "." + strCampoDia);
	var FormularioMes = eval(Formulario + "." + strCampoMes);
	var FormularioAno = eval(Formulario + "." + strCampoAno);
	
	var intDia = Trim(FormularioDia.value);
	var intMes = Trim(FormularioMes.value);
	var intAno = Trim(FormularioAno.value);

	if ( (intDia == "") || (intMes == "") || (intAno == "") ) {
		FormularioDia.focus();
		return false;
	}
	else {
		if (!valida_dia(intDia)) {
			FormularioDia.focus();
			return false;
		}
		else if (!valida_mes(intMes)) {
				FormularioMes.focus();
				return false;
			}
			else if (!valida_ano(intAno)) {
					FormularioAno.focus();
					return false;
				}

		var strData = intDia + "/" + intMes + "/" + intAno
		if (!ValidaData(strData)) { FormularioDia.focus(); return false; }
	}

	return true;

}

function DateDiff( dateDataInicio, dateDataFim ) {

	var iOut = 0;
	var bufferA = Date.parse( dateDataInicio );
	var bufferB = Date.parse( dateDataFim );
	var number = bufferB-bufferA;

	iOut = parseInt(number / 86400000);
	iOut += parseInt((number % 86400000) / 43200001);

	return iOut;

}

// Funcao que faz a validacao de datas
// (DD/MM/AA | DD/MM/AAAA | DD-MM-AA | DD-MM-AAAA)
function ValidaData(strData) {

	var dataPath = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{4})$/; // Anos com quatro digitos
	var matchArray = strData.match(dataPath); // Aceita o formato?

	// Verifica se a data esta entre os formatos aceitos
	if (matchArray == null) { return false; }

	intDia = matchArray[1];
	intMes = matchArray[3];
	intAno = matchArray[4];

	//Verifica o mes
	if (intMes < 1 || intMes > 12) { return false; }
	//Verifica o dia
	if (intDia < 1 || intDia > 31) { return false; }
	//Verifica os meses com 20 dias
	if ((intMes == 4 || intMes == 6 || intMes == 9 || intMes == 11) && intDia == 31) { return false; }
	// Verifica o mes de fevereiro
	if (intMes == 2) {
		var blnBissexto = (intAno % 4 == 0 && (intAno % 100 != 0 || intAno % 400 == 0));
		if (intDia>29 || (intDia==29 && !blnBissexto)) { return false; }
	}

	return true;
}

// Formata a data para o formato AAAA-MM-DD
function MontarData(dateDia,dateMes,dateAno) {

	if ((dateDia.length) < 2) { dateDia = "0" + dateDia }
	if ((dateMes.length) < 2) { dateMes = "0" + dateMes }

	return dateDia + "/" + dateMes + "/" + dateAno;
	
}

function ValidaIntervaloData(strForm, strFrames, fieldEdicao, strDiaIni, strMesIni, strAnoIni, strHoraIni, strMinIni, blnObrIni, strDiaFim, strMesFim, strAnoFim, strHoraFim, strMinFim, blnObrFim, strMsg) {

	var F = null;

	if ( (strFrames == null) || (strFrames == "") ) {
		F = "document." + strForm;
	}
	else {
		F = "window.top." + strFrames + ".document." + strForm;
		
	}

	if (blnObrIni == true) {

		if (!ValidaDataObrigatoriaFORM(strForm, strDiaIni, strMesIni, strAnoIni, strFrames)) {
			alert("Por favor, complete a data de início " + strMsg + " corretamente.");
			if (F) {
				eval(F + "." + strDiaIni + ".focus()");
			}
			return false;
		}

	}
	else {

		if (!ValidaDataOpcionalFORM(strForm, strDiaIni, strMesIni, strAnoIni, strFrames)) {
			alert("Por favor, complete a data de início " + strMsg + " corretamente.");
			if (F) {
				eval(F + "." + strDiaIni + ".focus()");
			}
			return false;
		}

	}

	if (blnObrFim == true) {

		if (!ValidaDataObrigatoriaFORM(strForm, strDiaFim, strMesFim, strAnoFim, strFrames)) {
			alert("Por favor, complete a data de término " + strMsg + " corretamente.");
			if (F) {
				eval(F + "." + strDiaFim + ".focus()");
			}
			return false;
		}

	}
	else {

		if (!ValidaDataOpcionalFORM(strForm, strDiaFim, strMesFim, strAnoFim, strFrames)) {
			alert("Por favor, complete a data de término " + strMsg + " corretamente.");
			if (F) {
				eval(F + "." + strDiaFim + ".focus()");
			}
			return false;
		}

	}

	var Edicao = null;

	Edicao = eval(F + "." + fieldEdicao);

	var fDiaIni = eval(F + "." + strDiaIni);
	var fMesIni = eval(F + "." + strMesIni);
	var fAnoIni = eval(F + "." + strAnoIni);

	var fHoraIni = null;
	if ( (strHoraIni != "") && (strHoraIni != null) ) {
		fHoraIni = eval(F + "." + strHoraIni);
	}

	var fMinIni = null;
	if ( (strMinIni != "") && (strMinIni != null) ) {
		fMinIni = eval(F + "." + strMinIni);
	}

	var fDiaFim = eval(F + "." + strDiaFim);
	var fMesFim = eval(F + "." + strMesFim);
	var fAnoFim = eval(F + "." + strAnoFim);

	var fHoraFim = null;
	if ( (strHoraFim != "") && (strHoraFim != null) ) {
		fHoraFim = eval(F + "." + strHoraFim);
	}

	var fMinFim = null;
	if ( (strMinFim != "") && (strMinFim != null) ) {
		fMinFim = eval(F + "." + strMinFim);
	}

	if ( (fDiaIni) && (fMesIni) && (fAnoIni) && (fDiaFim) && (fMesFim) && (fAnoFim) ) {
/*
		if (Edicao) {

			if (Edicao.value == "F") {

				if ( (Trim(fDiaIni.value) != "") && (Trim(fMesIni.value) != "") && (Trim(fAnoIni.value) != "") ) {

					var dateHoje = new Date();
					var diaHoje = dateHoje.getDate();
					var mesHoje = (dateHoje.getMonth() + 1);
					var anofullHoje = dateHoje.getFullYear();

					var dataIni = (mesHoje) + '/' + (diaHoje) + '/' + (anofullHoje);
					var dataFim = (Trim(fMesIni.value)) + '/' + (Trim(fDiaIni.value)) + '/' + (Trim(fAnoIni.value));

					if ( DateDiff( dataFim, dataIni ) > 0 ) {
						alert("A data de início " + strMsg + " deve ser superior a data de hoje.");
						fDiaIni.focus();
						return false;
					}
					else {

						if ( (fHoraIni) && (fMinIni) ) {

							if ( DateDiff( dataFim, dataIni ) == 0 ) {

								var d = new Date();

								var Hora = fHoraIni.value;
								var Minuto = fMinIni.value;

								var gHora = d.getHours();
								var gMinuto = d.getMinutes();

								if (Hora < gHora) {
									alert("A hora de início " + strMsg + " deve ser superior a hora atual.");
									fHoraIni.focus();
									return false;
								}
								else {
									if (Hora == gHora) {
										if (Minuto < gMinuto) {
											alert("A hora de início " + strMsg + " deve ser superior a hora atual.");
											fMinIni.focus();
											return false;
										}
									}
								}
							}
						}
					}
				}
			}
		}
*/
		if ( (Trim(fDiaFim.value) != "") && (Trim(fMesFim.value) != "") && (Trim(fAnoFim.value) != "") ) {

			var dataIni = (Trim(fMesIni.value)) + '/' + (Trim(fDiaIni.value)) + '/' + (Trim(fAnoIni.value));
			var dataFim = (Trim(fMesFim.value)) + '/' + (Trim(fDiaFim.value)) + '/' + (Trim(fAnoFim.value));

			if ( DateDiff( dataFim, dataIni ) > 0 ) {
				alert("A data de término " + strMsg + " deve ser superior a data início da mesma.");
				fDiaFim.focus();
				return false;
			}
			else {

				if ( (fHoraIni) && (fMinIni) && (fHoraFim) && (fMinFim) ) {

					if ( DateDiff( dataFim, dataIni ) == 0 ) {

						var d = new Date();

						var Hora = fHoraIni.value;
						var Minuto = fMinIni.value;

						var HoraF = fHoraFim.value;
						var MinutoF = fMinFim.value;

						if (HoraF < Hora) {
							alert("A hora de término " + strMsg + " deve ser superior a hora de início da mesma.");
							fHoraFim.focus();
							return false;
						}
						else {
							if (Hora == HoraF) {
								if (MinutoF < Minuto) {
									alert("A hora de término " + strMsg + " deve ser superior a hora de início da mesma.");
									fMinFim.focus();
									return false;
								}
							}
						}
					}
				}
			}
		}
	}

	return true;
}