function Calculate() {

// eBay(TM) Gebühren- & Provisionsberechnung v3.25
// Stand eBay Gebühren: 04.09.2007
// Letzte Änderung: 12.09.2007
// Copyright 2002-2007 by Elmar Denkmann
// http://www.baywotch.de
// Exklusiv-Rechte zur Nutzung von www.wortfilter.de.
// Dieser Kostenrechner ist urheberrechtlich geschützt.
// Unerlaubte Kopie oder Benutzung des Quellcodes ist
// untersagt und wird strafrechtlich verfolgt!


var StartPreis = 0;
var CalcStartPreis = 0;
var GebuehrGesamt = 0;
var EndPreis = 0;
var SKPreis = 0;
var MinPreis = 0;
var Prov = 0;
var Sonderfall = "";
var BilderAnzahl = 0;
var MengeArtikel = 0;
var MengeVerkauft = 0;
var Umsatz = 0 ;
var Auktionsform = 0;
var bMotors = false;
var bSondercat = false;
var bSondertop = false;
var ReserveFee = 0;
var bVolksAuktion = false;


// --- Eingabefelder auswerten

// Preise
StartPreis = document.form.startpreis.value.replace(/\W/,".");
EndPreis = document.form.endpreis.value.replace(/\W/,".");
SKPreis = document.form.skpreis.value.replace(/\W/,".");
MinPreis = document.form.minpreis.value.replace(/\W/,".");

// Sonstige Flags
Sonderfall = document.form.sonderfall;
Laufzeit = document.form.laufzeit.options[document.form.laufzeit.selectedIndex].value
Sonderfall_Top = document.form.sonderfall_top;
BilderAnzahl = document.form.bilderanzahl.selectedIndex+1;
MengeArtikel = document.form.mengeartikel.value;
MengeVerkauft = document.form.mengeverkauft.value;

// Auktionsformen
// 1 = Auktion
// 4 = Festpreis
// 5 = Anzeige
if (document.form.auktionsform[0].checked == true) Auktionsform=1;
if (document.form.auktionsform[1].checked == true) Auktionsform=4;
if (document.form.auktionsform[2].checked == true) Auktionsform=5;

// Werte numerisch "umpacken"
StartPreis=StartPreis *1;
EndPreis=EndPreis *1;
MengeArtikel=MengeArtikel *1;
MengeVerkauft=MengeVerkauft *1;
SKPreis=SKPreis *1;
MinPreis=MinPreis *1;

// Wichtig: Sonderfall muß als Init-String umgeshiftet werden, da ansonsten
// spätere Wandlung bei Combobox-Auswertung scheitert!!
Sonderfall = (Sonderfall == 'bice') ? Sonderfall='car' : Sonderfall=Sonderfall;


// Bei Festpreis wird Startpreis auf Verkaufspreis gesetzt
if (Auktionsform == 4) {
	if (StartPreis != EndPreis && EndPreis !=0) {
		StartPreis=EndPreis;
		document.form.startpreis.value = runden(EndPreis);
	}
}



// Warnungen

if (Auktionsform != 5) {

	if (MengeVerkauft > 0 && EndPreis ==0) {
		alert('Bitte verrate mir noch den Endpreis ...');
		return;
	}

	if (MengeVerkauft == 0 && EndPreis !=0) {
		alert('Der Endpreis steht schon da, jetzt ergänze bitte noch die Anzahl der verkauften Artikel.');
		return;
	}

	if (StartPreis < 1 && Auktionsform != 4) {
		alert('Startpreis kleiner 1 Euro?? Boah is das billig! ;-)');
		return;
		}
	else {
		if (EndPreis < StartPreis && EndPreis >0) {
			alert('Endpreis ist kleiner als Startpreis? Wohl kaum möglich ...');
			return;
		}
	}

	if (MengeArtikel <= 0) {
		alert('Weniger als 1 Artikel angeboten? Was machst Du dann hier? ;-)');
		return;
	}

	if (MengeVerkauft < 0) {
		alert('Sorry, aber weniger als 0 verkaufte Artikel? Wie geht denn das?? ;-)');
		return;
	}

	if (MengeVerkauft > MengeArtikel) {
		alert('Es wurden mehr Artikel verkauft, als angeboten wurden?? WAHNSINN!! ;-)');
		return;
	}

	if (Sonderfall_Top[0].checked == true && document.form.kat_top_angebot.checked == true) {
		alert('Bei Zusatzoption "Top-Angebot in Kategorie und Suche" muss noch zwingend die Kategorie ausgewählt werden!');
		return;
	}

	if (Sonderfall_Top[0].checked != true && document.form.kat_top_angebot.checked != true) {
		alert('Es wurden Kategorien ausgewählt, die speziell für die Zusatzoption "Top-Angebot in Kategorie und Suche" eine Rolle spielen. Die Zusatzoption wurde jedoch nicht ausgewählt. Bitte markiere die Zusatzoption, oder lösche die entsprechende Auswahl bei der Kategorie-Auswahl.');
		return;
	}

}

if (document.form.sofortkauf.checked == true && Auktionsform != 1 ) {
	alert('Die Sofort-Kaufen-Option steht nur bei Auktionen und Multiauktionen zur Verfügung.');
	return;
}

if (document.form.sofortkauf.checked == true && SKPreis < 1 ) {
	alert('Bitte noch den Sofort-Kaufen-Preis eingeben...');
	return;
}

if (document.form.mindest.checked == true && Auktionsform != 1 ) {
	alert('Mindestpreis ist nur beim Auktionsformat möglich.');
	return;
}

if (document.form.mindest.checked == true && MinPreis < 1 ) {
	alert('Bitte noch den Mindestpreis eingeben...');
	return;
}

if (document.form.mindest.checked == true && StartPreis >= MinPreis) {
	alert('Der Mindestpreis muß größer als der Startpreis sein!');
	return;
}

if (BilderAnzahl < 2 && document.form.dia.checked == true) {
	alert('Für Dia-Show werden mindestens 2 Bilder benötigt!');
	return;
}




// --- Gebühren

////////////////////////////////////////////////////////////////////
// Volks-Auktion
// http://pages.ebay.de/volks%2Dauktion/
if (Auktionsform==1 && StartPreis==1 && MengeArtikel==1 && Sonderfall[4].checked==false) {
	bVolksAuktion = true;
}
////////////////////////////////////////////////////////////////////


if (Auktionsform != 5) {

	// Automobile, Reisemobile & Caravans, Pkw-Anhänger und Nutzfahrzeuge
	if (Sonderfall[1].checked == true) {
		bMotors=true;
		bSondercat=true;
		if (Auktionsform == 1 && StartPreis == 1) {
			GebuehrGesamt=1;
		}
		else {
			GebuehrGesamt=10 * MengeArtikel;
		}
	}

	// Motorrad
	if (Sonderfall[2].checked == true) {
		bMotors=true;
		bSondercat=true;
		if (Auktionsform == 1 && StartPreis == 1) {
			GebuehrGesamt=1;
		}
		else {
			GebuehrGesamt=10 * MengeArtikel;
		}	
	}

	// Fahrzeuge mit Leasingvertrag
	if (Sonderfall[3].checked == true) {
		bMotors=true;
		bSondercat=true;
		GebuehrGesamt=10 * MengeArtikel;
		if (Auktionsform == 1 && StartPreis == 1) {
			GebuehrGesamt=1;
		}
		else {
			GebuehrGesamt=10 * MengeArtikel;
		}
	}

	// Mobilfunkvertrag
	if (Sonderfall[4].checked == true) {
		bSondercat=true;
		// nicht von der Stückzahl abhängig
		GebuehrGesamt=9.95;
	}

	// Medikamente
	if (Sonderfall[5].checked == true) {
		// Nur Festpreis
		if (Auktionsform == 4) {
			// nicht von der Stückzahl abhängig
			bSondercat=true;
			GebuehrGesamt=0.7;
		}
	}

	// Bücher
	if (Sonderfall[7].checked == true) {
		// Nur Festpreis
		if (Auktionsform == 4) {
			bSondercat=true;
			GebuehrGesamt=0.05;
		}
	}


	// Aus Kategorie "Musik": CDs, Vinyl, Hörbücher und Hörspiele und Sonstige Formate
	// Aus Kategorie "Filme & DVDs": DVD, VHS und Weitere Formate
	if (Sonderfall[8].checked == true ) {
		// Nur Festpreisangebote!
		if (Auktionsform == 4) {
			bSondercat=true;
			GebuehrGesamt=0.05;
		}
	}

	// Aus Kategorie "Sport->Bootsport": Jetski, Motorboote, Segelboote, Sonstige Boote
	// Aus Kategorie "Sport->Weitere Sportarten->Flug- & Drachensport->Flugzeuge": Motorflugzeuge, Segelflugzeuge
	if (Sonderfall[9].checked == true ) {
		bSondercat=true;
		GebuehrGesamt=10;
	}



	// Wenn kein Sonderfall, dann normale Gebühren berechnen
	if (bSondercat == false) {

		// Wenn Sie die Zusatzoption Mindestpreis auswählen, berechnet sich die Angebotsgebühr nach dem von 
		// Ihnen angegebenen Mindestpreis und nicht nach dem Startpreis. 
		if (document.form.mindest.checked == true) {
			CalcStartPreis = MinPreis;
		}
		else {						
			CalcStartPreis = StartPreis;
		}
		
		if (CalcStartPreis > 0 && CalcStartPreis < 2) {
			if (MengeArtikel == 1)				GebuehrGesamt = 0.25;
			if (MengeArtikel >= 2 && MengeArtikel <= 4)	GebuehrGesamt = 0.5;
			if (MengeArtikel >= 5 && MengeArtikel <= 9)	GebuehrGesamt = 0.7;
			if (MengeArtikel >= 10 && MengeArtikel <= 19)	GebuehrGesamt = 1.2;
			if (MengeArtikel >= 20)				GebuehrGesamt = 2.2;
		}

		if (CalcStartPreis >= 2 && CalcStartPreis < 10) {
			if (MengeArtikel == 1)				GebuehrGesamt = 0.45;
			if (MengeArtikel >= 2 && MengeArtikel <= 4)	GebuehrGesamt = 0.8;
			if (MengeArtikel >= 5 && MengeArtikel <= 9)	GebuehrGesamt = 1.4;
			if (MengeArtikel >= 10 && MengeArtikel <= 19)	GebuehrGesamt = 2.2;
			if (MengeArtikel >= 20)				GebuehrGesamt = 3.4;
		}

		if (CalcStartPreis >= 10 && CalcStartPreis < 25) {
			if (MengeArtikel == 1)				GebuehrGesamt = 0.8;
			if (MengeArtikel >= 2 && MengeArtikel <= 4)	GebuehrGesamt = 1.55;
			if (MengeArtikel >= 5 && MengeArtikel <= 9)	GebuehrGesamt = 2.2;
			if (MengeArtikel >= 10 && MengeArtikel <= 19)	GebuehrGesamt = 3.8;
			if (MengeArtikel >= 20)				GebuehrGesamt = 4.8;
		}

		if (CalcStartPreis >= 25 && CalcStartPreis < 100) {
			if (MengeArtikel == 1)				GebuehrGesamt = 1.6;
			if (MengeArtikel >= 2 && MengeArtikel <= 4)	GebuehrGesamt = 2.3;
			if (MengeArtikel >= 5 && MengeArtikel <= 9)	GebuehrGesamt = 4.2;
			if (MengeArtikel >= 10 && MengeArtikel <= 19)	GebuehrGesamt = 4.8;
			if (MengeArtikel >= 20)				GebuehrGesamt = 4.8;
		}

		if (CalcStartPreis >= 100 && CalcStartPreis < 250) {
			if (MengeArtikel == 1)				GebuehrGesamt = 3.2;
			if (MengeArtikel >= 2 && MengeArtikel <= 4)	GebuehrGesamt = 4.8;
			if (MengeArtikel >= 5 && MengeArtikel <= 9)	GebuehrGesamt = 4.8;
			if (MengeArtikel >= 10 && MengeArtikel <= 19)	GebuehrGesamt = 4.8;
			if (MengeArtikel >= 20)				GebuehrGesamt = 4.8;
		}

		if (CalcStartPreis >= 250) {
			if (MengeArtikel == 1)				GebuehrGesamt = 4.8;
			if (MengeArtikel >= 2 && MengeArtikel <= 4)	GebuehrGesamt = 4.8;
			if (MengeArtikel >= 5 && MengeArtikel <= 9)	GebuehrGesamt = 4.8;
			if (MengeArtikel >= 10 && MengeArtikel <= 19)	GebuehrGesamt = 4.8;
			if (MengeArtikel >= 20)				GebuehrGesamt = 4.8;
		}

	}
	
	if (bVolksAuktion == true) {
		// Alle Fahrzeuge und Boote/Flugzeuge
		if (bMotors == true || Sonderfall[9].checked == true) {
			GebuehrGesamt = 0.25;
		}
	}
	
	
}





// Bilder
if (document.form.bilderpaket[1].checked == true) {

        // Bilder-Paket
        // Bei Motors wird nur 1,00 Euro berechnet, egal ob klein oder groß
        if (bMotors==true) {
        	GebuehrGesamt += 1.00;
        } else {
		if (BilderAnzahl > 6)	GebuehrGesamt += 2.10;
		else			GebuehrGesamt += 1.50;
	}
} else {
        // Anzahl Bilder
        // Bei Motors sind weitere Bilder kostenlos!
        if (BilderAnzahl > 1 && bMotors==false) GebuehrGesamt += (BilderAnzahl-1) *0.15;
        // Dia (Bilderschau)
        if (document.form.dia.checked == true) GebuehrGesamt += 0.25;
        // XXL
        if (document.form.xxl.checked == true) GebuehrGesamt += 0.75;

	// Galerie-Optionen (aufeinander aufbauend)
	if (document.form.top_galerie.checked == true) GebuehrGesamt += 12.95;
	else if (document.form.galplus.checked == true) GebuehrGesamt += 1.75;
	else if (document.form.galerie.checked == true) {
		if (bVolksAuktion == true) {
			GebuehrGesamt += 0.24;
		} else {
			GebuehrGesamt += 0.75;
		}
	}
}


// Sofortkauf-Option je nach SK-Preis
if (document.form.sofortkauf.checked == true) {
	if (SKPreis <10) GebuehrGesamt += 0.09;
	if (SKPreis >=10 && SKPreis <100) GebuehrGesamt += 0.29;
	if (SKPreis >=100) GebuehrGesamt += 0.99;
}







// Weitere Optionen



////////////////////////////////////////////////////////////////////
// Top-Angebot in Kategorie und Suche
if (document.form.kat_top_angebot.checked == true) {


	// Audio & Hi-Fi, Computer, Foto & Camcorder, Haushaltsgeräte, Software, TV, Video & Elektronik, Musikinstrumente, PC- & Videospiele, Handy & Organizer*, Tickets und Unterkategorie Auto-Hi-Fi & Navigation (*Ausgenommen sind die Unterkategorien Handyverträge und Handy-Content) 
	if (Sonderfall_Top[1].checked == true) {
		bSondertop=true;
		if (MengeArtikel == 1)	GebuehrGesamt += 14.95;
		else			GebuehrGesamt += 19.95;
	}

	// Filme & DVDs, Musik und Bücher
	if (Sonderfall_Top[2].checked == true) {
		bSondertop=true;
		if (MengeArtikel == 1)	GebuehrGesamt += 5.95;
		else			GebuehrGesamt += 19.95;
	}

	// Immobilien, Unterkategorie Handy-Content (nur Anzeigen)
	if (Sonderfall_Top[3].checked == true && Auktionsform == 5) {
		bSondertop=true;
		GebuehrGesamt += 14.95;
	}
	
	// Anzeigenformat in den Kategorien Business & Industrie, Auto & Motorrad* (*Ausgenommen sind die Unterkategorie Auto-Hi-Fi & Navigation)
	if (Sonderfall_Top[4].checked == true && Auktionsform == 5) {
		bSondertop=true;
		GebuehrGesamt += 19.95;
	}
	
	// Ansonsten kann nur [5] sein ([0] war "keine Auswahl und wird angemeckert!):
	if (bSondertop == false) {
		if (MengeArtikel == 1)	GebuehrGesamt += 19.95;
		else 			GebuehrGesamt += 39.95;
	}
}
////////////////////////////////////////////////////////////////////




if (document.form.highlight.checked == true) GebuehrGesamt += 1.50;
if (document.form.fettschrift.checked == true) GebuehrGesamt += 0.85;
if (document.form.rahmen.checked == true) GebuehrGesamt += 1.25;
if (document.form.untertitel.checked == true) GebuehrGesamt += 0.50;
if (document.form.vorlagen.checked == true) GebuehrGesamt += 0.20;

if (Sonderfall[5].checked == false) {
	if (document.form.private.checked == true) GebuehrGesamt += 0.39;
}


// Mindestpreis: Wird Ihr Artikel erfolgreich verkauft, wird die Gebühr erstattet.
// Hinweis: Auch diese Gebühr verdoppelt sich beim Einstellen in 2. Kategorie!
if (document.form.mindest.checked == true) {
	// nicht verkauft? Dann Gebühr erheben...
	if (MengeVerkauft == 0) {
		// Uhren & Schmuck und Antiquitäten & Kunst
		// Die Gebühr beträgt 2% des gewählten Mindestpreises (maximal EUR 100,00).
		if (Sonderfall[11].checked == true) {
			ReserveFee = MinPreis * 2 / 100
			if (ReserveFee > 100) ReserveFee = 100;
			GebuehrGesamt += ReserveFee;
		}

		// Automobile, Fahrzeuge mit Leasingvertrag, Reisemobile & Caravans, Pkw-Anhänger und Nutzfahrzeuge
		if (Sonderfall[1].checked == true) {
			GebuehrGesamt += 10;
		}
	
		// Motorräder
		if (Sonderfall[2].checked == true) {
			GebuehrGesamt += 10;
		}

		// Business & Industrie
		if (Sonderfall[10].checked == true) {
			GebuehrGesamt += 10;
		}
	}
	else
	{
		// verkauft? Dann fällt normalerweise nix an, außer seit 7.6.2007 bei Automobile!
		// Automobile, Fahrzeuge mit Leasingvertrag, Reisemobile & Caravans, Pkw-Anhänger und Nutzfahrzeuge
		if (Sonderfall[1].checked == true) {
			GebuehrGesamt += 10;
		}
	}
}


// bei Doppelkategorien alle Gebühren doppelt bis auf Top-Angebot, Provision und Startzeitplanung
// Laut Hilfe ist Doppelkategorie bei Auto/Motorrad nicht möglich... in der Praxis sieht das anders aus!
if (document.form.doppel_kategorie.checked == true) GebuehrGesamt *= 2;


// Ab hier Gebühren, die bei Doppelkategorie nicht doppelt berechnet werden!


// Top-Angebot auf Startseite
// Unterscheidung, ob 1 oder mehrere Artikel
if (document.form.top_angebot.checked == true) {
        if (MengeArtikel == 1)	GebuehrGesamt += 79.95;
        else			GebuehrGesamt += 179.95;
}

if (document.form.startzeitplanung.checked == true) GebuehrGesamt += 0.10;


// Verkaufsprovision (außer bei Anzeige)
if (Auktionsform != 5) {

	// Automobile, Reisemobile & Caravans, Pkw-Anhänger und Nutzfahrzeuge
	if (Sonderfall[1].checked == true) {
		Prov = 49;
	}

	// Motorrad
	if (Sonderfall[2].checked == true) {
		Prov = 24;
	}

	// Fahrzeuge mit Leasingvertrag
	if (Sonderfall[3].checked == true) {
		Prov = 49;
	}

	// Bücher
	if (Sonderfall[7].checked == true) {
		// Nur Festpreis
		if (Auktionsform == 4) {
			Prov = EndPreis*12/100;
		}
	}

	// Medikamente
	if (Sonderfall[5].checked == true) {
		// Nur Festpreis
		if (Auktionsform == 4) {
			Prov = EndPreis*6/100;
		}
	}

	// Tickets
	if (Sonderfall[6].checked == true) {
		if (EndPreis >= 1 && EndPreis <= 1000) Prov = EndPreis*7/100;
		if (EndPreis > 1000) Prov = 70+(EndPreis-1000)*.5/100;
	}

	// Aus Kategorie "Musik": CDs, Vinyl, Hörbücher und Hörspiele und Sonstige Formate
	// Aus Kategorie "Filme & DVDs": DVD, VHS und Weitere Formate
	if (Sonderfall[8].checked == true ) {
		// Nur Festpreisangebote!
		if (Auktionsform == 4) {
			Prov = EndPreis*9/100;
		}
	}

	// Aus Kategorie "Sport->Bootsport": Jetski, Motorboote, Segelboote, Sonstige Boote
	// Aus Kategorie "Sport->Weitere Sportarten->Flug- & Drachensport->Flugzeuge": Motorflugzeuge, Segelflugzeuge
	if (Sonderfall[9].checked == true ) {
		Prov = 40;
	}

	// Am Schluß: Kein Sonderfall, Handyvertrag oder sonstige Sonderfälle
	if (Prov == 0) {
		if (EndPreis >= 1 && EndPreis <= 50) Prov = EndPreis*5/100;
		if (EndPreis > 50 && EndPreis <= 500) Prov = 2.5+(EndPreis-50)*4/100;
		if (EndPreis > 500) Prov = 20.5+(EndPreis-500)*2/100;
	}


	// Verkaufsprovision bei mehreren Artikeln (Powerauktion oder Sofortkauf)
	Prov *= MengeVerkauft;

	// Umsatz
	Umsatz = EndPreis * MengeVerkauft;
}
else {
	// Anzeigenformat

	// Immobilien
	if (Sonderfall[12].checked == true) {
		if ( Laufzeit == '10' )	GebuehrGesamt += 1;
		else			GebuehrGesamt += 2;
	}

	// Auto & Motorrad: Fahrzeuge Automobile, Spezielle Fahrzeuge, Motorräder
	if (Sonderfall[1].checked == true || Sonderfall[2].checked == true || Sonderfall[3].checked == true ) {
		if ( Laufzeit == '14' )	GebuehrGesamt += 20;
		else			GebuehrGesamt += 30;
	}

	// Business & Industrie 
	if (Sonderfall[10].checked == true) {
		if ( Laufzeit == '14' )	GebuehrGesamt += 15;
		else			GebuehrGesamt += 25;
	}
	
	// Handy-Content: Klingeltöne, Handy-Spiele, Logos, Videos, Animationen
	if (Sonderfall[13].checked == true) {
		GebuehrGesamt += 4.99;
	}
	
	Prov=0;
	Umsatz=0;
}



// --- Ausgabe

document.form.startpreis.value = runden(StartPreis);
document.form.endpreis.value = runden(EndPreis);
document.form.mengeartikel.value= MengeArtikel;
document.form.mengeverkauft.value= MengeVerkauft;

// Brutto
document.form.gebuehr_b.value = runden(GebuehrGesamt);
document.form.provision_b.value = runden(Prov);
document.form.gesamt_b.value = runden(GebuehrGesamt + Prov);
document.form.umsatz_b.value = runden(Umsatz);
document.form.rest_b.value = runden(Umsatz - (GebuehrGesamt + Prov));

// Netto (zzgl. MwSt.)
var ebayMwSt = 1.15;
var GermanMwSt = 1.19;
document.form.gebuehr_n.value = runden(GebuehrGesamt/ebayMwSt);
document.form.provision_n.value = runden(Prov/ebayMwSt);
document.form.gesamt_n.value = runden((GebuehrGesamt + Prov)/ebayMwSt);
// 
document.form.umsatz_n.value = runden(Umsatz/GermanMwSt);
document.form.rest_n.value = runden( (Umsatz/GermanMwSt) - ((GebuehrGesamt + Prov)/ebayMwSt) );

// Gebührenanteil
if ( Umsatz != 0) {
	document.form.quote.value = runden( (GebuehrGesamt + Prov)*100/Umsatz );
} else {
	document.form.quote.value = "";
}




}

function runden(x) {
        var k = (Math.round(x * 100) / 100).toString();
        k += (k.indexOf('.') == -1)? '.00' : '00';
        var p = k.indexOf('.'), m = k.indexOf('-.');
        var f = (p == 0 || m == 0)? '0,' : ',';
        return k.substring(0, p) + f + k.substring(p+1, p+3);
}
