/*-------------------------------------*/
/* 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 PaketPreiseAbholung;


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, "-", "-" );
			PaketPreiseAbholung     = new Array(Sendung_S_Abholung,Sendung_M_Abholung,Sendung_L_Abholung,Sendung_XL_Abholung,Sendung_XXL_Abholung);
	    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]));
		AbholPreis = Only2Digits(Menge * parseFloat(PaketPreiseAbholung[i]) +  parseFloat(Zuschlag));

		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_Abholung.value = 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<InselPLZ.length ;i++) {
        if( plz == InselPLZ[i] )
            return true;
    }    
    return false;
}
/*-------------------------------------*/
function check_start()
{
    
    if( is_Insel(document.Tarifrecher.StartPlz.value) )   {     
        alertString += ("Sehr geehrter Kunde,\nfuer die Abholung von Paketen und Reisegepaeck von ausgewaehlten Inseln in\nNord- und Ostsee berechnen wir aufgrund des erhoehten\nBefoerderungsaufwands einen Inselzuschlag von 5,90 EUR pro\nGepaeckstueck und Transportweg. ");
        DJcheckOnSumbit ();
        }
}
/*-------------------------------------*/
function check_ziel()
{
    if( is_Insel(document.Tarifrecher.ZielPlz.value) ) {
        alertString += ("Sehr geehrter Kunde,\nfuer die Zustellung von Paketen und Reisegepaeck auf ausgewaehlte Inseln in\nNord- und Ostsee berechnen wir aufgrund des erhoehten\nBefoerderungsaufwands einen Inselzuschlag von 5,90 EUR pro\nGepaeckstueck und Transportweg.");
        DJcheckOnSumbit ();
        }
}
//alert ("hi"); 
/*--------------------------------------*/
function Only2Digits(X)
{
    
    var T, S=new String( Math.round(X*100) )
        while (S.length<3) 
            S='0'+S;   
    return S.substr(0, T=(S.length-2)) + '.' + S.substr(T, 2) ;  
}
/*--------------------------------------*/
function prettyPrint (string) {
	return ("huhu" + string);
}

