Olá, gente. Primeiramente, peço desculpas caso o título da pergunta não esteja endereçado corretamente, é que não encontrei outra maneira de explicar minha dúvida. Então, estou fazendo um formulário com script de um serviço de táxi aéreo. O usuário seleciona o destino e a origem e de acordo com o que for escolhido, há um preço diferente. Além disso, há uma checkbox que deve ser marcada caso o usuário opte pela passagem de ida e volta, e se for marcada, os campos "data do retorno" e "hora", que originalmente estão desativados, tornam-se disponíveis para a inserção de dados. Se a passagem de ida e volta for escolhida, ainda há um desconto de 30% para o cliente, e esse valor deve mudar se a checkbox for selecionada. Até aí eu consegui fazer; o problema é quando a checkbox é desativada, pois eu queria que o valor também mudasse, voltando para o valor inicial de apenas uma passagem. Contudo, o valor que fica é o de desconto e se a checkbox for selecionada outra vez, ele repete a operação de desconto. Tentei criar a variável "vnormal" para guardar o primeiro valor, mas não obtive sucesso. Como eu posso resolver isso? Segue o código:
<html>
<head>
<meta charset="UTF-8"/>
<title> FLY - Táxi Aéreo </title>
<script type="text/javascript">
function funcorigem()
{
origem=window.document.ftaxi.origem.value;
destino=window.document.ftaxi.destino;
destino.innerHTML = '';
if(origem=="rj")
{
option=document.createElement("option");
option.text=" ";
destino.add(option);
option=document.createElement("option");
option.text="São Paulo";
destino.add(option);
option=document.createElement("option");
option.text="Belo Horizonte";
destino.add(option);
option=document.createElement("option");
option.text="Salvador";
destino.add(option);
option=document.createElement("option");
option.text="Santa Catarina";
destino.add(option);
}
if(origem=="sp")
{
option=document.createElement("option");
option.text=" ";
destino.add(option);
option=document.createElement("option");
option.text="Rio de Janeiro";
destino.add(option);
option=document.createElement("option");
option.text="Belo Horizonte";
destino.add(option);
option=document.createElement("option");
option.text="Salvador";
destino.add(option);
option=document.createElement("option");
option.text="Santa Catarina";
destino.add(option);
}
if(origem=="bh")
{
option=document.createElement("option");
option.text=" ";
destino.add(option);
option=document.createElement("option");
option.text="Rio de Janeiro";
destino.add(option);
option=document.createElement("option");
option.text="São Paulo";
destino.add(option);
option=document.createElement("option");
option.text="Salvador";
destino.add(option);
option=document.createElement("option");
option.text="Santa Catarina";
destino.add(option);
}
if(origem=="sc")
{
option=document.createElement("option");
option.text=" ";
destino.add(option);
option=document.createElement("option");
option.text="Rio de Janeiro";
destino.add(option);
option=document.createElement("option");
option.text="São Paulo";
destino.add(option);
option=document.createElement("option");
option.text="Belo Horizonte";
destino.add(option);
option=document.createElement("option");
option.text="Salvador";
destino.add(option);
}
if(origem=="salv")
{
option=document.createElement("option");
option.text=" ";
destino.add(option);
option=document.createElement("option");
option.text="Rio de Janeiro";
destino.add(option);
option=document.createElement("option");
option.text="São Paulo";
destino.add(option);
option=document.createElement("option");
option.text="Belo Horizonte";
destino.add(option);
option=document.createElement("option");
option.text="Santa Catarina";
destino.add(option);
}
}
function totpagar()
{
origem=window.document.ftaxi.origem.value;
destino=window.document.ftaxi.destino.value;
if((origem=="rj")&&(destino=="São Paulo"))
{
window.document.ftaxi.valortot.value="250,00";
}
if((origem=="rj")&&(destino=="Belo Horizonte"))
{
window.document.ftaxi.valortot.value="300,00";
}
if((origem=="rj")&&(destino=="Salvador"))
{
window.document.ftaxi.valortot.value="350,00";
}
if((origem=="rj")&&(destino=="Santa Catarina"))
{
window.document.ftaxi.valortot.value="400,00";
}
//sp
if((origem=="sp")&&(destino=="Rio de Janeiro"))
{
window.document.ftaxi.valortot.value="250,00";
}
if((origem=="sp")&&(destino=="Belo Horizonte"))
{
window.document.ftaxi.valortot.value="200,00";
}
if((origem=="sp")&&(destino=="Salvador"))
{
window.document.ftaxi.valortot.value="300,00";
}
if((origem=="sp")&&(destino=="Santa Catarina"))
{
window.document.ftaxi.valortot.value="350,00";
}
//bh
if((origem=="bh")&&(destino=="Rio de Janeiro"))
{
window.document.ftaxi.valortot.value="300,00";
}
if((origem=="bh")&&(destino=="São Paulo"))
{
window.document.ftaxi.valortot.value="200,00";
}
if((origem=="bh")&&(destino=="Salvador"))
{
window.document.ftaxi.valortot.value="200,00";
}
if((origem=="bh")&&(destino=="Santa Catarina"))
{
window.document.ftaxi.valortot.value="400,00";
}
//salvador
if((origem=="salv")&&(destino=="Rio de Janeiro"))
{
window.document.ftaxi.valortot.value="350,00";
}
if((origem=="salv")&&(destino=="São Paulo"))
{
window.document.ftaxi.valortot.value="300,00";
}
if((origem=="salv")&&(destino=="Belo Horizonte"))
{
window.document.ftaxi.valortot.value="200,00";
}
if((origem=="salv")&&(destino=="Santa Catarina"))
{
window.document.ftaxi.valortot.value="350,00";
}
//sc
if((origem=="sc")&&(destino=="Rio de Janeiro"))
{
window.document.ftaxi.valortot.value="400,00";
}
if((origem=="sc")&&(destino=="São Paulo"))
{
window.document.ftaxi.valortot.value="350,00";
}
if((origem=="sc")&&(destino=="Belo Horizonte"))
{
window.document.ftaxi.valortot.value="400,00";
}
if((origem=="sc")&&(destino=="Salvador"))
{
window.document.ftaxi.valortot.value="350,00";
}
}
//desativar e ativar checkbox e mudar preço do valor total
function enabledPassagem()
{
var desconto=0;
valortot=parseInt(window.document.ftaxi.valortot.value);
parseInt(vnormal=window.document.ftaxi.valortot.value);
if (document.getElementById('passagem').checked == false)
{
window.document.ftaxi.valortot=vnormal;
document.getElementById("dataretorno").disabled = true;
document.getElementById("horaretorno").disabled = true;
}
if (document.getElementById('passagem').checked == true)
{
document.getElementById('dataretorno').removeAttribute('disabled'); document.getElementById('horaretorno').removeAttribute('disabled');
desconto=((valortot*2)*0.7);
window.document.ftaxi.valortot.value=desconto;
}
}
</script>
</head>
<body>
<form name="ftaxi" method="post" action="formtaxi.asp">
Cliente: <input type="text" name="nomecl" size="50" maxlength="48"><p>
CPF: <input type="text" name="nome" size="20" maxlength="16">
RG: <input type="text" name="rg" size="13" maxlength="11"><p>
Sexo: <input type="radio" name="sexo" value="masc"> Masculino
<input type="radio" name="sexo" value="fem"> Feminino <P>
Origem: <select name="origem" onchange="funcorigem()"><p>
<option value=" "> Escolha </option>
<option value="rj"> Rio de Janeiro </option>
<option value="sp"> São Paulo </option>
<option value="bh"> Belo Horizonte </option>
<option value="sc"> Santa Cantarina </option>
<option value="salv"> Salvador </option>
</select><p>
Data: <input type="date" name="data"> <p>
Hora: <input type="text" size="8" maxlength="7"><p>
Destino: <select name="destino" onchange="totpagar()"></select><p>
<input type="checkbox" id="passagem" name="passagem" value="passagem" onclick="enabledPassagem()"> Passagem de ida e volta
<p>
Data de retorno: <input type="date" name="dataretorno" id="dataretorno" disabled/>
Hora: <input type="text" name="horaretorno" id="horaretorno" size="8" maxlength="7" disabled/><p>
Valor a pagar: <input type="text" name="valortot" readonly="true"><p>
<input type="submit" name="enviar" value="Salvar">
<input type="reset" name="limpar" value="Limpar">
</form>
</body>
</html>
Agradeço desde já.