function hinweislaenge() { } function formatDate(datum, uhrzeit) { if(!datum) datum = new Date(); var y = getFullYear(datum); var m = datum.getMonth();m++; var d = datum.getDate(); var uhr = ""; if(uhrzeit) { var x = '00' + datum.getHours(); uhr += ' [' + x.substring( x.length - 2); x = '00' + datum.getMinutes(); uhr += ':' + x.substring( x.length - 2) + ']'; } var wd = (new Array( 'So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'))[datum.getDay()] return (wd + ' ' + d +"." + m + "." + y + uhr); } function diflaenge(f) { var d1 = string2date(f.HV_Datum_von.value); var d2 = string2date(f.HV_Datum_bis.value); Fehler=0; if(!d1) d1 = new Date(); if(!d2) d2 = new Date(); f.show.value = ""; if(d1 && d2) { // Nächste Zeile würde die Differenztage zeigen f.show.value = deltaDays(d1, d2); if(deltaDays(d1, d2) <= 0) { document.Formular.show.value=""; } if(document.Formular.HV_Datum_bis.value == "") { document.Formular.show.value=""; } if(document.Formular.show.value > 0) {Aufschlag = (18.74*document.Formular.show.value)-18.74; } Aufschlag = 0; PreisfuerUebermeter=0; if(document.Formular.HV_Laenge.value > 15) { PreisfuerUebermeter=(document.Formular.HV_Laenge.value-15)*1.19; } PreisfuerUebermeter=0; Neuberechnung=parseFloat(133.88); if(Aufschlag > 0) { f.show.value = 'Der HVZ-Gesamtpreis hat sich durch mehrtägige Gültigkeit erhöht.'; var Aufschlag = (Math.round(Aufschlag * 100) / 100).toString(); Aufschlag += (Aufschlag.indexOf('.') == -1)? '.00' : '00'; Aufschlag = Aufschlag.substring(0, Aufschlag.indexOf('.') + 3); Neuberechnung=Neuberechnung+parseFloat(Aufschlag); var Neuberechnung = (Math.round(Neuberechnung * 100) / 100).toString(); Neuberechnung += (Neuberechnung.indexOf('.') == -1)? '.00' : '00'; Neuberechnung = Neuberechnung.substring(0, Neuberechnung.indexOf('.') + 3); document.Formular.HVZ_Gesamtkosten.value=Neuberechnung+' €'; } else { if(Fehler == 0) { f.show.value = ''; } var Aufschlag = (Math.round(Aufschlag * 100) / 100).toString(); Aufschlag += (Aufschlag.indexOf('.') == -1)? '.00' : '00'; Aufschlag = Aufschlag.substring(0, Aufschlag.indexOf('.') + 3); var Neuberechnung = (Math.round(Neuberechnung * 100) / 100).toString(); Neuberechnung += (Neuberechnung.indexOf('.') == -1)? '.00' : '00'; Neuberechnung = Neuberechnung.substring(0, Neuberechnung.indexOf('.') + 3); document.Formular.HVZ_Gesamtkosten.value=Neuberechnung+' €'; } parseInt(document.Formular.HV_Laenge.value); if(document.Formular.HV_Laenge.value <= 15) { document.Formular.show1.value=''; } NeuberechnungUberlaenge=parseFloat(document.Formular.HVZ_Gesamtkosten.value); NeuberechnungUberlaenge=NeuberechnungUberlaenge+PreisfuerUebermeter; var NeuberechnungUberlaenge = (Math.round(NeuberechnungUberlaenge * 100) / 100).toString(); NeuberechnungUberlaenge += (NeuberechnungUberlaenge.indexOf('.') == -1)? '.00' : '00'; NeuberechnungUberlaenge = NeuberechnungUberlaenge.substring(0, NeuberechnungUberlaenge.indexOf('.') + 3); document.Formular.HVZ_Gesamtkosten.value=NeuberechnungUberlaenge+' €'; if(document.Formular.HV_Laenge.value > 15 && PreisfuerUebermeter>0) { document.Formular.show1.value='Der HVZ-Gesamtpreis hat sich durch Überlänge erhöht.'; } else { document.Formular.show1.value=''; } }} function dif(f) { var d1 = string2date(f.HV_Datum_von.value); var d2 = string2date(f.HV_Datum_bis.value); Fehler=0; var Aufschlag; if(!d1) d1 = new Date(); if(!d2) d2 = new Date(); f.show.value = ""; if(d1 && d2) { // Nächste Zeile würde die Differenztage zeigen f.show.value = deltaDays(d1, d2); if(deltaDays(d1, d2) <= 0) { document.Formular.show.value=""; } if(document.Formular.HV_Datum_bis.value == "") { document.Formular.show.value=""; } if(document.Formular.show.value > 0) {Aufschlag = (18.74*document.Formular.show.value)-18.74; alert('ACHTUNG! Aufpreishinweis: Die Gültigkeitsdauer Ihrer Halteverbotszone umfasst mehr als einen Tag. Bei Halteverbotszonen mit einer zeitlichen Gültigkeitsdauer von mehr als einem Tag, werden Mehrkosten berechnet. Dies gilt auch für die Genehmigung. Wenn Sie eine genaue Preisinformationen benötigen, fragen Sie diese bitte vorab bei uns an - andernfalls gehen wir davon aus, dass Sie mit den Mehrkosten einverstanden sind.\n\n'); } Aufschlag = 0; PreisfuerUebermeter=0; if(document.Formular.HV_Laenge.value > 15) { PreisfuerUebermeter=(document.Formular.HV_Laenge.value-15)*1.19; } PreisfuerUebermeter=0; Neuberechnung=parseFloat(133.88); if(Aufschlag > 0) { f.show.value = 'Der HVZ-Gesamtpreis hat sich durch mehrtägige Gültigkeit erhöht.'; var Aufschlag = (Math.round(Aufschlag * 100) / 100).toString(); Aufschlag += (Aufschlag.indexOf('.') == -1)? '.00' : '00'; Aufschlag = Aufschlag.substring(0, Aufschlag.indexOf('.') + 3); alert('ACHTUNG! Aufpreishinweis: Die Gültigkeitsdauer Ihrer Halteverbotzone umfasst mehr als einen Tag. Bei Halteverbotszonen mit einer zeitlichen Gültigkeitsdauer von mehr als einem Tag wird ab dem 2. Tag ein Preisaufschlag berechnet. Der Endpreis Ihrer Halteverbotszone wird daher nun automatisch korrigiert. Jeder zusätzlich angebrochene Tag ab Tag 2 kostet einen Aufpreis von 18.74 €. \n\nDie Aufschlagskosten für den von Ihnen gewählten Datumsbereich betragen insgesamt: '+ Aufschlag + ',- €\n\n'); Neuberechnung=Neuberechnung+parseFloat(Aufschlag); var Neuberechnung = (Math.round(Neuberechnung * 100) / 100).toString(); Neuberechnung += (Neuberechnung.indexOf('.') == -1)? '.00' : '00'; Neuberechnung = Neuberechnung.substring(0, Neuberechnung.indexOf('.') + 3); document.Formular.HVZ_Gesamtkosten.value=Neuberechnung+' €'; } else { if(Fehler == 0) { f.show.value = ''; } var Aufschlag = (Math.round(Aufschlag * 100) / 100).toString(); Aufschlag += (Aufschlag.indexOf('.') == -1)? '.00' : '00'; Aufschlag = Aufschlag.substring(0, Aufschlag.indexOf('.') + 3); var Neuberechnung = (Math.round(Neuberechnung * 100) / 100).toString(); Neuberechnung += (Neuberechnung.indexOf('.') == -1)? '.00' : '00'; Neuberechnung = Neuberechnung.substring(0, Neuberechnung.indexOf('.') + 3); document.Formular.HVZ_Gesamtkosten.value=Neuberechnung+' €'; } parseInt(document.Formular.HV_Laenge.value); if(document.Formular.HV_Laenge.value <= 15) { document.Formular.show1.value=''; } NeuberechnungUberlaenge=parseFloat(document.Formular.HVZ_Gesamtkosten.value); NeuberechnungUberlaenge=NeuberechnungUberlaenge+PreisfuerUebermeter; var NeuberechnungUberlaenge = (Math.round(NeuberechnungUberlaenge * 100) / 100).toString(); NeuberechnungUberlaenge += (NeuberechnungUberlaenge.indexOf('.') == -1)? '.00' : '00'; NeuberechnungUberlaenge = NeuberechnungUberlaenge.substring(0, NeuberechnungUberlaenge.indexOf('.') + 3); document.Formular.HVZ_Gesamtkosten.value=NeuberechnungUberlaenge+' €'; if(document.Formular.HV_Laenge.value > 15 && PreisfuerUebermeter>0) { document.Formular.show1.value='Der HVZ-Gesamtpreis hat sich durch Überlänge erhöht.'; } else { document.Formular.show1.value=''; }}} function deltaDays(HV_Datum_von, HV_Datum_bis) { if(!HV_Datum_von || !HV_Datum_bis) return null; var check1 = new Date(HV_Datum_von.getFullYear(), HV_Datum_von.getMonth(), HV_Datum_von.getDate()); var check2 = new Date(HV_Datum_bis.getFullYear(), HV_Datum_bis.getMonth(), HV_Datum_bis.getDate()); // Nächste Zeile Alarm des Differenzwertes, jedoch mit Vorzeichenumkehr durch *(-1) // alert(Math.round(check1 - check2) / (1000 * 60 * 60 * 24 )*(-1)); if(Math.round(check1 - check2) / (1000 * 60 * 60 * 24 )*(-1) >= 0) { return Math.round(check1 - check2) / (1000 * 60 * 60 * 24 )*(-1); } if(Math.round(check1 - check2) / (1000 * 60 * 60 * 24 )*(-1) < 0) { Neuberechnung=parseFloat(document.Formular.HVZ_Grundpreis.value); var Neuberechnung = (Math.round(Neuberechnung * 100) / 100).toString(); Neuberechnung += (Neuberechnung.indexOf('.') == -1)? '.00' : '00'; Neuberechnung = Neuberechnung.substring(0, Neuberechnung.indexOf('.') + 3); document.Formular.HVZ_Gesamtkosten.value=Neuberechnung+' €'; Fehler=1; return 'Fehler: Startdatum der HVZ liegt nach dem Enddatum. Bitte prüfen!'; } // return Math.round(Math.abs(check1 - check2) / (1000 * 60 * 60 * 24 )); } function string2date(string) { if(!string) return null; string += ''; string = string.replace(/[-\/]/g, '.'); // Trennzeichen normalisieren string = string.replace(/[^0-9.: ]/g, ''); // ung?ltige Zeichen entfernen string = string.replace(/ +/g, ' '); // doppelte Leerzeichen entfernen var uhr = string.split(" "); // Uhrzeit abtrennen var split = uhr[0].split("."); var day = parseInt(split[0], 10); var month = parseInt(split[1] || 0, 10); var year = parseInt(split[2] || 0, 10); if(isNaN(year)) year = getFullYear(); var check = new Date(year, month - 1, day); if(uhr[1]) { var uhr = uhr[1].split(':'); check.setHours( uhr[0] || 0 ); check.setMinutes( uhr[1] || 0 ); check.setSeconds( uhr[2] || 0 ); } var day2 = check.getDate(); var year2 = getFullYear(check); var month2 = check.getMonth() + 1; return ( year2 == year && month == month2 && day == day2 ) ? check : null; } function getFullYear(date) { if(!date) date = new Date(); if(typeof date.getFullYear != 'undefined') return date.getFullYear(); var year = date.getYear(); if(year < 1000) year += 2000; return year; }