bln_racer: Script funzt nicht mit Opera 7.23

Beitrag lesen

Hallo Leute,

erstmal vielen dank an die Ersteller der SELFHTML-Seite, das Handbuch konnte mir sehr gut helfen, denn ich habe vor kurzem bei 0 angefangen und jatzt habe ich mein erstes Javascript erstellt.

Mein Problem:

Ich habe einen Online Rechner (für meine Belange) programmiert, im IE funzt er wunderbar, jedoch mit Opera wird dort nix berechnet (und ich surfe nunmal mit Opera). Dort wird der Mietpreis berechnet, nachdem ein User das Datum eingegeben hat.

Ich bekomme folgende Fehlermeldung:

http://euramobil.gmxhome.de/Preisrechner.htm
Unknown context
Syntax error while loading (line 13)
  else
---------^

http://euramobil.gmxhome.de/Preisrechner.htm
Event thread: onclick
Error:
name: ReferenceError
message: Statement on line 1: Reference to undefined variable: No such variable 'Preisrechner'
Backtrace:
  In unknown script
    Preisrechner();
  At unknown location
    {event handler trampoline}

ich weiß den Quellcode kann man bestimmt besser machen, aber es ist nunmal mein erster. Hier ist er:

<html>
<head>
<title>Preisrechner</title>
<script type="text/javascript">
<!--
 var Preisrechner,vonTag,vonMonat,vonJahr,bisTag,bisMonat,bisJahr,Mietdauer,Mietpreis,x,y,z,w,Freikm,km,Zusatzkosten,Gesamt;
 function Preisrechner()
  {
  var x = (document.Formular.vonTag.value*1+document.Formular.vonMonat.value*30);
  var y = (document.Formular.bisTag.value*1+document.Formular.bisMonat.value*30);
  var z = 211;
  var w = 271;
  if ((x<=z && y<=z) || (x>=w && y>=w) || (x>=w && y<=z))
   {
   Mietpreis = (Math.floor((y-x)/7)*250 + ((y - x) - (Math.floor((y-x)/7))*7)*45)};
    else
     {
     if (x<=z && y>=z && y<=w)
     {
     Mietpreis = (Math.floor((z-x)/7)*250 + ((z - x) - (Math.floor((z-x)/7))*7)*45 +
     Math.floor((y-z)/7)*350 + ((y - z) - (Math.floor((y-z)/7))*7)*55)};
      else
       {
       if (x>=z && x<=w && y<=w)
        {Mietpreis = (Math.floor((y-x)/7)*350) + ((y - z) - (Math.floor((y-z)/7))*7)*55};
         else
          {
           Mietpreis = (Math.floor((y-w)/7)*250 + ((y - w) - (Math.floor((x-z)/7))*7*55 +
           Math.floor((y-z)/7)*350 + ((y - z) - (Math.floor((y-z)/7))*7)*55));
           }
            }
             };
  var Mietdauer = (document.Formular.bisJahr.value - document.Formular.vonJahr.value)*365 +
  (document.Formular.bisMonat.value - document.Formular.vonMonat.value)*30 +
   (document.Formular.bisTag.value - document.Formular.vonTag.value);
   var Freikm = (y-x)*150;
   var Zusatzkosten = (document.Formular.km.value*1 - Freikm*1)*0.1;
   var Gesamt = Zusatzkosten*1 + Mietpreis*1;
   document.Formular.Mietdauer.value=Mietdauer;
   document.Formular.Mietpreis.value=Mietpreis;
   document.Formular.Freikm.value=Freikm;
   document.Formular.Zusatzkosten.value=Zusatzkosten;
   document.Formular.Gesamt.value=Gesamt;
   }

//-->
</script>

P.S. weiß jemand wie man einfach ein Datum von einem anderen subtrahiert, denn ich habe es irgendwie kompliziert gemacht.

Vielen Dank