/* ==================================================================================
 * 	                                    CONTATO
 * ================================================================================== */
function enviarContato()
{
	var frm = document.getElementById("frmContato");
	if(validarFormNull(frm))
	{
		frm.submit();
	}
}
function validarFormNull(oForm)
{
	var i;
	
	for(i=0;i<oForm.elements.length;i++)
	{
		if( ((oForm.elements[i].value == "") || (oForm.elements[i].title == oForm.elements[i].value) ) && oForm.elements[i].title!="" )
		{
			mensagem("Campo " + oForm.elements[i].title + " deve ser preenchido!");
			//oForm.elements[i].select();
			return false;
		}
	}
	if(!validaEmail(oForm.Email.value))
	{
		mensagem("Preencha o e-mail corretamente!");
		return false;
	}

	return true;
}
/* ==================================================================================
 * 	                                    News Letter
 * ================================================================================== */
function enviarNews()
{
	var frm = document.getElementById("frmNews");
	if(validarFormNull(frm))
	{
		frm.submit();
	}
}
function validarFormNull(oForm)
{
	var i;
	
	for(i=0;i<oForm.elements.length;i++)
	{
		if( ((oForm.elements[i].value == "") || (oForm.elements[i].title == oForm.elements[i].value) ) && oForm.elements[i].title!="" )
		{
			mensagem("Campo " + oForm.elements[i].title + " deve ser preenchido!");
			//oForm.elements[i].select();
			return false;
		}
	}
	if(!validaEmail(oForm.Email2.value))
	{
		mensagem("Preencha o e-mail corretamente!");
		return false;
	}

	return true;
}

/* ==================================================================================
 * 	                              FUNCOES UTEIS
 * ================================================================================== */
function validaEmail(Email){
	  if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(Email)) {
	    return true;
	  }
	  else {
		return false;
	  }
	}
function mensagem(msg)
{
	alert(msg);	
}
function format(value,format)
{
	value = value.replace(/\D/g,"");
	var result="";
	
	if(format.length < value.length)
		return value;
	
	for(i=0,j=0;(i<format.length)&&(j<value.length);i++)
	{
		var ch = format.charAt(i) ;
		if(ch == '#')
		{
			result += value.charAt(j++);
			continue;
		}
		result += ch;
	}
	return result;
}
/* ==================================================================================
 * 	                                    News Letter
 * ================================================================================== */
function validaFrmRetiradaDevolucao()
{
	var frm = document.getElementById("frmRetiradaDevolucao");
	if(validarSelectNull())
	{
		frm.submit();
	}
}
//funcao especifica para o formulario  frmRetiradaDevolucao
function validarSelectNull()
{
	if(document.getElementById("retiradaId").value == '---')
	{
		mensagem("Selecione uma Retirada");
		return false;
		
	}
	if(document.getElementById("devolucaoId").value == '---')
	{
		mensagem("Selecione uma Devolucao");
		return false;
		
	}
	return true;

}
/*=================================================================================
*                                             Reserva
*=================================================================================*/

function Dia(Data_DDMMYYYY)
{
	string_data = Data_DDMMYYYY.toString();
	posicao_barra = string_data.indexOf("/");
	
	if (posicao_barra!= -1)
	{
		dia = string_data.substring(0,posicao_barra);
		return dia;
	}
	else
	{
		return false;
	}
}

function Mes(Data_DDMMYYYY)
{
	string_data = Data_DDMMYYYY.toString();
	posicao_barra = string_data.indexOf("/");
	
	if (posicao_barra!= -1)
	{
		dia = string_data.substring(0,posicao_barra);
		string_mes = string_data.substring(posicao_barra+1,string_data.length);
		posicao_barra = string_mes.indexOf("/");
		
		if (posicao_barra!= -1)
		{
			mes = string_mes.substring(0,posicao_barra);
			mes = Math.floor(mes);
			return mes;
		}
		else
		{
			return false;
		}
	}
	else
	{
		return false;
	}
}

function Ano(Data_DDMMYYYY)
{
	string_data = Data_DDMMYYYY.toString();
	posicao_barra = string_data.indexOf("/");
	
	if (posicao_barra!= -1)
	{
		dia = string_data.substring(0,posicao_barra);
		string_mes = string_data.substring(posicao_barra+1,string_data.length);
		posicao_barra = string_mes.indexOf("/");
		
		if (posicao_barra!= -1)
		{
			mes = string_mes.substring(0,posicao_barra);
			mes = Math.floor(mes);
			ano = string_mes.substring(posicao_barra+1,string_mes.length);
			return ano;
		}
		else
		{
			return false;
		}
	}
	else
	{
		return false;
	}
}

function Calcula_Data(data_DDMMYYYY,dias,adicao)
{
	Var_Dia=Dia(data_DDMMYYYY);
	Var_Mes=Mes(data_DDMMYYYY);
	Var_Mes=Math.floor(Var_Mes)-1;
	Var_Ano=Ano(data_DDMMYYYY);
	
	var data = new Date(Var_Ano,Var_Mes,Var_Dia);
	
	if (adicao == true)
	{
		operacao = '+'
		var diferenca = data.getTime() + (dias * 1000 * 60 * 60 * 24);
	}
	else
	{
		operacao = '-'
		var diferenca = data.getTime() - (dias * 1000 * 60 * 60 * 24);
	}
	
	var diferenca = new Date(diferenca);
	alert(string_data+operacao+dias+' dias = '+diferenca.getDate()+'/'+(parseInt(diferenca.getMonth())+1)+'/'+diferenca.getYear());
}

function Calcula_Dias(data1_DDMMYYYY,data2_DDMMYYYY)
{
	Var_Dia1=Dia(data1_DDMMYYYY);
	Var_Mes1=Mes(data1_DDMMYYYY);
	Var_Mes1=Math.floor(Var_Mes1)-1;
	Var_Ano1=Ano(data1_DDMMYYYY);

	var data1 = new Date(Var_Ano1,Var_Mes1,Var_Dia1);
	
	Var_Dia2=Dia(data2_DDMMYYYY);
	Var_Mes2=Mes(data2_DDMMYYYY);
	Var_Mes2=Math.floor(Var_Mes2)-1;
	Var_Ano2=Ano(data2_DDMMYYYY);
	
	var data2 = new Date(Var_Ano2,Var_Mes2,Var_Dia2);
	
	var diferenca = data1.getTime() - data2.getTime();
	var diferenca = Math.floor(diferenca / (1000 * 60 * 60 * 24));
	
	//verifica se a data1 eh menor que a data2
	if (diferenca >= 0)
	{
		return false;
	}
	else
	{
		return true;
	}
}


//funcao que inicia o ajax - deve ir antes de todas as funcoes ajax
function openAjax()
{
	var ajax;
	try
	{
		ajax = new XMLHttpRequest(); // XMLHttpRequest para browsers decentes, como: Firefox, Safari, dentre outros.
	}
	catch(ee)
	{
		try
		{
			ajax = new ActiveXObject("Msxml2.XMLHTTP"); // Para o IE da MS
		}
		catch(e)
		{
			try
			{
				ajax = new ActiveXObject("Microsoft.XMLHTTP"); // Para o IE da MS
			}
			catch(E)
			{
				ajax = false;
			}
		}
	}
	return ajax;
}

// Função que realiza a busca dos modelos no banco de dados
function buscaModelo()
{
	var cod;
	cod = document.getElementById("grupo").value;
	
	if(cod != "" && cod != null)
	{
		var ajax = openAjax();
		ajax.open("GET", "buscaModelo.php?grupo="+cod, true);
		//exibe uma mensagem antes de carregar completamente o resultado.
		document.getElementById("modelo").innerHTML="Carregando...";
		//document.getElementById("modelo").innerHTML="<img src="caminho">";
		ajax.onreadystatechange = function()
									{
										if(ajax.readyState == 4)
										{
											if(ajax.status == 200)
											{
												var resultado = ajax.responseText;
												resultado = resultado.replace(/\+/g," ");
												resultado = unescape(resultado);
												//alert(document.getElementById("tipo"))
												document.getElementById("modelo").innerHTML=resultado;
												
											}
										}
									}
									ajax.send(null);
	}
	else
	{
		document.getElementById("modelo").innerHTML = "";
	}
}

// Função que realiza a busca dos tipos de protecoes no banco de dados
function buscaProtecao()
{
	var cod;
	cod = document.getElementById("grupo").value;
	
	if(cod != "" && cod != null)
	{
		var ajax = openAjax();
		ajax.open("GET", "buscaProtecao.php?grupo="+cod, true);
		//exibe uma mensagem antes de carregar completamente o resultado.
		document.getElementById("protecao").innerHTML="Carregando...";
		//document.getElementById("modelo").innerHTML="<img src="caminho">";
		ajax.onreadystatechange = function()
									{
										if(ajax.readyState == 4)
										{
											if(ajax.status == 200)
											{
												var resultado = ajax.responseText;
												resultado = resultado.replace(/\+/g," ");
												resultado = unescape(resultado);
												//alert(document.getElementById("tipo"))
												document.getElementById("DIVprotecao").innerHTML=resultado;
												
											}
										}
									}
									ajax.send(null);
	}
	else
	{
		document.getElementById("DIVprotecao").innerHTML = "";
	}
}

// Função que realiza a busca dos tipos de locacoes no banco de dados
function buscaPlanos()
{
	var cod;
	cod = document.getElementById("grupo").value;
	
	if(cod != "" && cod != null)
	{
		var ajax = openAjax();
		ajax.open("GET", "buscaPlanos.php?grupo="+cod, true);
		//exibe uma mensagem antes de carregar completamente o resultado.
		document.getElementById("planos").innerHTML="Carregando...";
		//document.getElementById("modelo").innerHTML="<img src="caminho">";
		ajax.onreadystatechange = function()
									{
										if(ajax.readyState == 4)
										{
											if(ajax.status == 200)
											{
												var resultado = ajax.responseText;
												resultado = resultado.replace(/\+/g," ");
												resultado = unescape(resultado);
												//alert(document.getElementById("tipo"))
												document.getElementById("DIVplanos").innerHTML=resultado;
											}
										}
									}
									ajax.send(null);
	}
	else
	{
		document.getElementById("DIVplanos").innerHTML = "";
	}
}


// Função que realiza o calculo do valor na diaria
function calculaDiaria()
{
	var cod;
	var prot;
	var plan;	
	cod = document.getElementById("grupo").value;
	prot = document.getElementById("protecao").value;
	plan = document.getElementById("planos").value;
//alert(cod+prot+plan);
	if(cod != "" && cod != null)
	{
		var ajax = openAjax();
		ajax.open("GET", "calculaDiaria.php?grupo="+cod+"&protecao="+prot+"&plano="+plan, true);
		//exibe uma mensagem antes de carregar completamente o resultado.
		document.getElementById("vr_diaria").innerHTML="Carregando...";
		//document.getElementById("modelo").innerHTML="<img src="caminho">";
		ajax.onreadystatechange = function()
									{
										if(ajax.readyState == 4)
										{
											if(ajax.status == 200)
											{
												var resultado = ajax.responseText;
												resultado = resultado.replace(/\+/g," ");
												resultado = unescape(resultado);
												//alert(document.getElementById("tipo"))
												document.getElementById("vr_diaria").innerHTML=resultado;
												
											}
										}
									}
									ajax.send(null);
	}
	else
	{
		document.getElementById("vr_diaria").innerHTML = "";
	}
}

function validaForm(frm)
{
	var entrada;
	var regexObject = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{1,3})+$/ ;
			
	entrada = frm.email.value;
	
	if(frm.grupo.value == '')
	{
		alert("Selecione um grupo");
		frm.grupo.focus();
		return false;
	}else if(frm.protecao.value == '')
	{
		alert("Selecione um tipo de proteção");
		frm.protecao.focus();
		return false;
	}else if(frm.planos.value == '')
	{
		alert("Selecione um tipo de locação");
		frm.planos.focus();
		return false;
	}else if(frm.local_retirada.value == '')
	{
		alert("Selecione um local de retirada do veículo");
		frm.local_retirada.focus();
		return false;
	}else if(frm.local_devolucao.value == '')
	{
		alert("Selecione um local de devolução do veículo");
		frm.local_devolucao.focus();
		return false;
	}else if(frm.data_retirada.value == '' || frm.data_retirada.value == 'dd/mm/aaaa' )
	{
		alert("Selecione uma data de retirada do veículo");
		frm.data_retirada.focus();
		return false;
	}else if(frm.data_devolucao.value == '' || frm.data_retirada.value == 'dd/mm/aaaa')
	{
		alert("Selecione uma data de devolução do veículo");
		frm.data_devolucao.focus();
		return false;
	}else if(Calcula_Dias(frm.data_retirada.value,frm.data_devolucao.value) == false)
	{
		alert("Selecione um período válido");
		frm.data_devolucao.focus();
		return false;
	}
	else if(frm.nome_cliente.value == '')
	{
		alert("Informe o nome do cliente");
		frm.nome_cliente.focus();
		return false;
	}/*else if ((!frm.sexo[0].checked) && (!frm.sexo[1].checked))
    {	
		alert ("Informe o sexo");
		frm.sexo[0].focus();
		return false;
	}else if(frm.cidade.value == '')
	{
		alert("Informe a cidade");
		frm.cidade.focus();
		return false;
	}else if(frm.estado.value == '')
	{
		alert("Informe o estado");
		frm.estado.focus();
		return false;
	}else if(frm.endereco.value == '')
	{
		alert("Informe o endereço");
		frm.endereco.focus();
		return false;
	}else if(frm.numero.value == '')
	{
		alert("Informe o número do endereço");
		frm.numero.focus();
		return false;
	}*/else if(frm.email.value == '')
	{
		alert("Informe o e-mail");
		frm.email.focus();
		return false;
	}else
	{
		var entrada;
		var regexObject = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{1,3})+$/ ;
			
		entrada = frm.email.value;
	 	if(!regexObject.test(entrada))
		{
			alert("Informe o e-mail corretamente");
			frm.email.focus();
			return false;
		}else if(frm.ddd.value == '')
		{
			alert("Informe o DDD do telefone");
			frm.ddd.focus();
			return false;
		}else if(frm.telefone.value == '')
		{
			alert("Informe o telefone");
			frm.telefone.focus();
			return false;
		}else if(frm.cnpj_cpf.value == '')
		{
			alert("Informe o CNPJ/CPF");
			frm.cnpj_cpf.focus();
			return false;
		}else if(frm.cnpj_cpf.value.length == 11)
		{
			
			if(check_cpf(frm.cnpj_cpf.value) == false)
			{
				alert("Cpf Inválido");
				frm.rg.focus();
				return false;
			}
		}
		else if(frm.cnpj_cpf.value.length == 14)
		{
			if(valida_cnpj(frm.cnpj_cpf.value) == false)
			{
				alert("Cnpj inválido");
				frm.cnh.focus();
				return false;
			}
		}/*else if(frm.cnpj_cpf.value.length != 11 && frm.cnpj_cpf.value.length != 14)
		{
			alert("O campo CNPJ/CPF deve ter 11 numeros para Cpf e 14 numeros para Cnpj	");
			frm.cnh_validade.focus();
			return false;
		}else */if ((!frm.contrato[0].checked) && (!frm.contrato[1].checked))
		{	
			alert ("Marque se aceita nos termos do contrato");
			frm.contrato[0].focus();
			return false;
		}else
		{
			frm.method = "POST";
			frm.action = "processaReserva.php?grupo=<?=$grupo?>&protecao=<?=$protecao?>&plano=<?=$plano?>&valor=<?=$valor?>&local_retirada=<?=$local_retirada?>&data_retirada=<?=$data_retirada?>&local_devolucao=<?=$local_devolucao?>&data_devolucao=<?=$data_devolucao?>&enviarEmail=ok";
//alert('realizando submit de '+frm.action);
			frm.submit();
		}
	}
}

function calculaTotalDiaria() {
       var data = document.getElementById('data_retirada').value;
       var data1 = document.getElementById('data_devolucao').value;
	   //var valorDiaria = document.getElementById('vr_diaria').value;
	   var valorDiaria = $("#vr_diaria input").val();
       //alert(valorDiaria);
       $("#vr_total").load("calculaData.php?data="+data+"&data1="+data1+"&valorDiaria="+valorDiaria.replace('R$ ',''));
}

$('document').ready(function(){calculaDistancia()});
function calculaDistancia() {
       var local_retirada = document.getElementById('local_retirada').value;
       var local_devolucao = document.getElementById('local_devolucao').value;
       $("#vr_distancia").load("calculaDistancia.php?local_retirada="+local_retirada+"&local_devolucao="+local_devolucao+"&valorDiaria=");
}
function valida_cpf(cpf)
      {
      var numeros, digitos, soma, i, resultado, digitos_iguais;
      digitos_iguais = 1;
      if (cpf.length < 11)
            return false;
      for (i = 0; i < cpf.length - 1; i++)
            if (cpf.charAt(i) != cpf.charAt(i + 1))
                  {
                  digitos_iguais = 0;
                  break;
                  }
      if (!digitos_iguais)
            {
            numeros = cpf.substring(0,9);
            digitos = cpf.substring(9);
            soma = 0;
            for (i = 10; i > 1; i--)
                  soma += numeros.charAt(10 - i) * i;
            resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
            if (resultado != digitos.charAt(0))
                  return false;
            numeros = cpf.substring(0,10);
            soma = 0;
            for (i = 11; i > 1; i--)
                  soma += numeros.charAt(11 - i) * i;
            resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
            if (resultado != digitos.charAt(1))
                  return false;
            return true;
            }
      else
            return false;
      }
function valida_cnpj(cnpj)
      {
      var numeros, digitos, soma, i, resultado, pos, tamanho, digitos_iguais;
      digitos_iguais = 1;
      if (cnpj.length < 14 && cnpj.length < 15)
            return false;
      for (i = 0; i < cnpj.length - 1; i++)
            if (cnpj.charAt(i) != cnpj.charAt(i + 1))
                  {
                  digitos_iguais = 0;
                  break;
                  }
      if (!digitos_iguais)
            {
            tamanho = cnpj.length - 2
            numeros = cnpj.substring(0,tamanho);
            digitos = cnpj.substring(tamanho);
            soma = 0;
            pos = tamanho - 7;
            for (i = tamanho; i >= 1; i--)
                  {
                  soma += numeros.charAt(tamanho - i) * pos--;
                  if (pos < 2)
                        pos = 9;
                  }
            resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
            if (resultado != digitos.charAt(0))
                  return false;
            tamanho = tamanho + 1;
            numeros = cnpj.substring(0,tamanho);
            soma = 0;
            pos = tamanho - 7;
            for (i = tamanho; i >= 1; i--)
                  {
                  soma += numeros.charAt(tamanho - i) * pos--;
                  if (pos < 2)
                        pos = 9;
                  }
            resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
            if (resultado != digitos.charAt(1))
                  return false;
            return true;
            }
      else
            return false;
      } 





