/*-------------------------------------*/ /* Globale Variablen */ /*-------------------------------------*/ var current_date = new Date(); var current_year = 2000 + current_date.getYear() % 100; var errorShow = false; var checkform_messageheader = "Sehr geehrter Kunde,\nfolgende Felder sind leer oder falsch ausgefuellt:\n\n"; var checkform_message = ""; var exp = new Date()+30; var Sendung_S_Abholung = 8.80; var Sendung_M_Abholung = 11.80; var Sendung_L_Abholung = 15.80; var Sendung_XL_Abholung = 20.80; var Sendung_XXL_Abholung = 25.80; var Sendung_S_OnlinePaketschein = 3.80; var Sendung_M_OnlinePaketschein = 5.80; var Sendung_L_OnlinePaketschein = 8.80; var Sendung_S_OnlinePaketscheinEU = 11.80; var Sendung_M_OnlinePaketscheinEU = 16.80; var Sendung_L_OnlinePaketscheinEU = 21.80; var Sendung_S_OnlinePaketscheinDE = 9.80; var Sendung_M_OnlinePaketscheinDE = 14.80; var Sendung_L_OnlinePaketscheinDE = 19.80; var Sendung_S_PaketShop = 4.00; var Sendung_M_PaketShop = 6.00; var Sendung_L_PaketShop = 9.00; var Sendung_S_PaketShopEU = 12.80; var Sendung_M_PaketShopEU = 17.80; var Sendung_L_PaketShopEU = 22.80; var Sendung_S_PaketShopDE = 10.80; var Sendung_M_PaketShopDE = 15.80; var Sendung_L_PaketShopDE = 20.80; var Inselzuschlag = 5.90; var Inselzuschlag_Reisegepaeck = 6.90; var Sperrigkeits_zuschlag_einfach = 15.90; var Sperrigkeits_zuschlag_sondergepaeck = 14.90; var MinderMengenzuschlag = 0.00; var Sendung_bis_5_kg = 7.00; var Sendung_bis_5_kg_sperrig = Sendung_bis_5_kg + Sperrigkeits_zuschlag_einfach; var Sendung_bis_10_kg = 10.00; var Sendung_bis_10_kg_sperrig = Sendung_bis_10_kg + Sperrigkeits_zuschlag_einfach; var Sendung_bis_31_5_kg = 16.00; var Sendung_bis_31_5_kg_sperrig = Sendung_bis_31_5_kg + Sperrigkeits_zuschlag_einfach; var Reisegepaeck = 14.90; var Reisegepaeck_sperrig = Reisegepaeck + Sperrigkeits_zuschlag_sondergepaeck; var Fahrrad = 39.90; var Skiverpackung = 2.90; var Fahrradverpackung = 5.90; var PaketKlasse_S = 50; // 0cm - 50cm var PaketKlasse_M = 80; // > 50cm - 80cm var PaketKlasse_L = 120; // > 80cm - 120cm var PaketKlasse_XL = 150; // >120cm - 150cm var PaketKlasse_XXL = 310; // >150cm - 310cm var PaketKlasse = new Array("S", "M", "L", "XL", "XXL" ); var PaketAbmessungen = new Array(50, 80, 120, 150, 310 ); var PaketPreiseAbgabe; var PaketPreiseAbgabeOnline; var InselPLZ = new Array(18565,27498,27499,25938,25946,25849,25859,25869,25863,25845,25980,25992,25996,25997,25999,26579,26757,26571,26465,26474,26486,26548); var alertString = ""; /*-------------------------------------*/ function DJcheckOnSumbit () { var Land = document.Tarifrecher.Land.value; PaketPreiseAbgabeDe = new Array("-","-","-","-","-"); PaketPreiseAbgabeOnlineDe = new Array("-","-","-","-","-"); PaketPreiseAbholung = new Array("-","-","-","-","-"); switch (Land) { case "Europa": document.getElementById('aktionspreis_at-de').style.visibility='hidden'; document.Tarifrecher.Preis_Paketshop_Online.style.color='#004279'; document.Tarifrecher.Preis_Paketshop.style.color='#004279'; PaketPreiseAbgabe = new Array(Sendung_S_PaketShopEU,Sendung_M_PaketShopEU, Sendung_L_PaketShopEU, "-", "-" ); PaketPreiseAbgabeOnline = new Array(Sendung_S_OnlinePaketscheinEU,Sendung_M_OnlinePaketscheinEU, Sendung_L_OnlinePaketscheinEU, "-", "-" ); break; case "Deutschland": document.getElementById('aktionspreis_at-de').style.visibility='visible'; document.Tarifrecher.Preis_Paketshop_Online.style.color='#bbbbbb'; document.Tarifrecher.Preis_Paketshop.style.color='#bbbbbb'; PaketPreiseAbgabe = new Array(Sendung_S_PaketShopEU,Sendung_M_PaketShopEU, Sendung_L_PaketShopEU, "-", "-" ); PaketPreiseAbgabeOnline = new Array(Sendung_S_OnlinePaketscheinEU,Sendung_M_OnlinePaketscheinEU, Sendung_L_OnlinePaketscheinEU, "-", "-" ); PaketPreiseAbgabeDe = new Array(Sendung_S_PaketShopDE,Sendung_M_PaketShopDE, Sendung_L_PaketShopDE, "-", "-" ); PaketPreiseAbgabeOnlineDe = new Array(Sendung_S_OnlinePaketscheinDE,Sendung_M_OnlinePaketscheinDE, Sendung_L_OnlinePaketscheinDE, "-", "-" ); break; default: // Oesterreich-Preise document.getElementById('aktionspreis_at-de').style.visibility='hidden'; document.Tarifrecher.Preis_Paketshop_Online.style.color='#004279'; document.Tarifrecher.Preis_Paketshop.style.color='#004279'; PaketPreiseAbgabe = new Array(Sendung_S_PaketShop,Sendung_M_PaketShop, Sendung_L_PaketShop, "-", "-" ); PaketPreiseAbgabeOnline = new Array(Sendung_S_OnlinePaketschein,Sendung_M_OnlinePaketschein, Sendung_L_OnlinePaketschein, "-", "-" ); break; } var DEBUG = 0; alertString = ""; var Menge = document.Tarifrecher.Menge.value; if (Menge == '' || isNaN(Menge) || Menge=="0") { Menge = 0; //document.Tarifrecher.Menge.value = Menge; AbholPreis = "---"; AbgabePreis = "---"; AbgabePreisDe = "---"; AbgabePreisOnline = "---"; AbgabePreisOnlineDe = "---"; document.Tarifrecher.PaketKlasse.value = ""; document.Tarifrecher.LaengeKL.value = ""; } else { var Menge = parseFloat(document.Tarifrecher.Menge.value); var StartPlz= parseFloat(document.Tarifrecher.StartPlz.value); var ZielPlz = parseFloat(document.Tarifrecher.ZielPlz.value); var Laenge = parseFloat(document.Tarifrecher.Laenge.value); var Breite = parseFloat(document.Tarifrecher.Breite.value); var Hoehe = parseFloat(document.Tarifrecher.Hoehe.value); var AbgabePreis = 0; var AbgabePreisOnline = 0; var AbholPreis = 0; var Zuschlag = 0; // Inselzuschlaege if ( is_Insel( StartPlz ) ) Zuschlag = Only2Digits(parseFloat(Zuschlag) + Menge*Inselzuschlag); if ( is_Insel( ZielPlz ) ) Zuschlag = Only2Digits(parseFloat(Zuschlag) + Menge*Inselzuschlag); document.Tarifrecher.InselZuschlag.value = Zuschlag; var i = finde_PaketKlasse( Laenge, Breite, Hoehe ); if (DEBUG) alert ("Paketklasse " + PaketKlasse[i]); AbgabePreis = Only2Digits(Menge * parseFloat(PaketPreiseAbgabe[i])); AbgabePreisOnline = Only2Digits(Menge * parseFloat(PaketPreiseAbgabeOnline[i])); AbgabePreisDe = Only2Digits(Menge * parseFloat(PaketPreiseAbgabeDe[i])); AbgabePreisOnlineDe = Only2Digits(Menge * parseFloat(PaketPreiseAbgabeOnlineDe[i])); switch (PaketKlasse[i]) { case "S": break; case "M": break; case "L": break; case "XL": switch (Land) { case "Europa": case "Deutschland": alertString += ("die maximalen Abmaße für einen Paketversand betragen längste + kürzeste Seite: <120 cm. Das maximale Gewicht beträgt 25 kg. Ein Versand von Paketen, deren Maße oder Gewicht darüber hinaus geht, ist leider nicht möglich."); break; default: alertString += ("die maximalen Abmaße für einen Paketversand betragen längste + kürzeste Seite: <120 cm. Das maximale Gewicht beträgt 31,5 kg. Ein Versand von Paketen, deren Maße oder Gewicht darüber hinaus geht, ist leider nicht möglich."); break; } AbgabePreis = "---"; AbgabePreisOnline = "---"; AbgabePreisDe = "---"; AbgabePreisOnlineDe = "---"; break; case "XXL": switch (Land) { case "Europa": case "Deutschland": alertString += ("die maximalen Abmaße für einen Paketversand betragen längste + kürzeste Seite: <120 cm. Das maximale Gewicht beträgt 25 kg. Ein Versand von Paketen, deren Maße oder Gewicht darüber hinaus geht, ist leider nicht möglich."); break; default: alertString += ("die maximalen Abmaße für einen Paketversand betragen längste + kürzeste Seite: <120 cm. Das maximale Gewicht beträgt 31,5 kg. Ein Versand von Paketen, deren Maße oder Gewicht darüber hinaus geht, ist leider nicht möglich."); break; } AbgabePreis = "---"; AbgabePreisOnline = "---"; AbgabePreisDe = "---"; AbgabePreisOnlineDe = "---"; break; default: alertString += ("Die Eingaben entsprechen keiner Hermes Paketklasse."); AbgabePreis = "---"; AbholPreis = "---"; AbgabePreisOnline = "---"; AbgabePreisDe = "---"; AbgabePreisOnlineDe = "---"; document.Tarifrecher.PaketKlasse.value = "---"; break; } if (Menge > 5) { alertString += ("Am PaketShop koennen Sie nur bis zu 5 Pakete auf einmal abgeben."); AbgabePreis = "---"; } if (Land == "Europa" || Land == "Deutschland") { AbholPreis = "---"; } } document.Tarifrecher.Preis_Paketshop.value = AbgabePreis; document.Tarifrecher.Preis_Paketshop_Online.value = AbgabePreisOnline; document.Tarifrecher.Preis_Paketshop_De.value = AbgabePreisDe; document.Tarifrecher.Preis_Paketshop_Online_De.value = AbgabePreisOnlineDe; if (alertString != "" && errorShow != true) { alert ("Lieber Nutzer / liebe Nutzerin,\n" + alertString); errorShow = true; } else { errorShow = false; } } /*-------------------------------------*/ function finde_PaketKlasse( Laenge, Breite, Hoehe ) { var DEBUG=0; var Summe=Summe_SeitenKurzLang( Laenge, Breite, Hoehe ); var i=0; // finde die PaketKlasse while (Summe > PaketAbmessungen[i]) i++; document.Tarifrecher.PaketKlasse.value = PaketKlasse[i]; if (DEBUG) alert ( "Laenge = "+Laenge + "\nBreite = "+Breite + "\nHoehe = "+Hoehe + "\nPaketklasse = "+ PaketKlasse[i]); // nu find man dat mittlere Mas ans dritteSeite // duesse dusselige javascript integpreter braucht etwas nachhilfe, um zahlen zu vergleichen (2*) if ( ( (2*Laenge >= 2*Breite) && (2*Breite >= 2*Hoehe) ) || ( (2*Laenge <= 2*Breite) && (2*Breite <= 2*Hoehe) ) ) { dritteSeite = Breite; if (DEBUG) alert ("its Breite " + Laenge + " " + Breite + " " + Hoehe); } if ( ( (2*Breite >= 2*Hoehe) && (2*Hoehe >= 2*Laenge) ) || ( (2*Breite <= 2*Hoehe) && (2*Hoehe <= 2*Laenge) ) ) { dritteSeite = Hoehe; if (DEBUG) alert ("its Hoehe " + Laenge + " " + Breite + " " + Hoehe); } if ( ( (2*Hoehe >= 2*Laenge) && (2*Laenge >= 2*Breite) ) || ( (2*Hoehe <= 2*Laenge) && (2*Laenge <= 2*Breite) ) ) { dritteSeite = Laenge; if (DEBUG) alert ("its Laenge " + Laenge + " " + Breite + " " + Hoehe); } // nu mot we nok de Regel "3. Seite < 50cm bei XXL" moken if ((PaketKlasse[i] == "XXL") && ( dritteSeite*1.0 > 50.0) ) { alertString += "die maximalen Abmaße für einen Paketversand betragen längste + kürzeste Seite: <120 cm. Ein Versand von Paketen, deren Maße oder Gewicht darüber hinaus geht, ist leider nicht möglich.\n"; i++; } return i; } /*-------------------------------------*/ function Summe_SeitenKurzLang( Laenge, Breite, Hoehe ) { var DEBUG=0; var min=Math.min(Math.min(Laenge,Breite),Hoehe); var max=Math.max(Math.max(Laenge,Breite),Hoehe); var Summe = min+max; if(isNaN(Summe) == true) Summe = ""; document.Tarifrecher.LaengeKL.value = Summe; if (DEBUG) alert ( "Laenge = "+Laenge + "\nBreite = "+Breite + "\nHoehe = "+Hoehe + "\nmin = "+min + "\nmax = "+max + "\nSumme = "+ Summe); return Summe; } /*-------------------------------------*/ function is_Insel( plz ) { for (i=0; i