<!--  begin

var test = false;

var naviName = navigator.appName;
var naviCodeName = navigator.appCodeName;
var naviVersion = navigator.appVersion;
var naviCookieEnabled = navigator.cookieEnabled;
var naviLanguage = navigator.language;
var naviPlatform = navigator.platform;
var naviUserAgent = navigator.userAgent;

var MAX_BEST =		 10;
var MAX_LIZCNT =	 65;

var artikel = new Array();
var artpreis = new Array();
var updVariantsValue = new Array();
var updVariantsText = new Array();
var updVariantsTextDe = new Array();
var updVariantsTextEn = new Array();
var updVariantsTextFr = new Array();
var updPreis = new Array();
var vKostText = new Array();
var vKostTextDe = new Array();
var vKostTextEn = new Array();
var vKostTextFr = new Array();
var vKostVal = new Array();
var vArtVal = new Array();
var vArtText = new Array();
var vArtTextDe = new Array();
var vArtTextEn = new Array();
var vArtTextFr = new Array();
var lizTyp = new Array();
var lizTypEn = new Array();
var lizTypFr = new Array();
var lizTypDe = new Array();
var lizFloatRabatt = new Array();
var lizNWRabatt = new Array();
var sprachenDe = new Array();
var sprachenEn = new Array();
var sprachenFr = new Array();
var sprachen = new Array();
var opsys = new Array();
var opsysVal = new Array();
var mwstSatz = 0.19;
var nowStart1 = new Date();
var nowStart2 = 0
var nowStart3 = 0

artikel[artikel.length] = "";		artpreis[artpreis.length] = "";
artikel[artikel.length] = "DXFMAN";	artpreis[artpreis.length] =  383.00;
artikel[artikel.length] = "DXFPLOT";	artpreis[artpreis.length] =  123.00;
artikel[artikel.length] = "FED1";	artpreis[artpreis.length] =  491.00;
artikel[artikel.length] = "FED1+";	artpreis[artpreis.length] =  695.00;
artikel[artikel.length] = "FED2";	artpreis[artpreis.length] =  501.00;
artikel[artikel.length] = "FED2+";	artpreis[artpreis.length] =  675.00;
artikel[artikel.length] = "FED3";	artpreis[artpreis.length] =  388.00;
artikel[artikel.length] = "FED3+";	artpreis[artpreis.length] =  480.00;
artikel[artikel.length] = "FED4";	artpreis[artpreis.length] =  430.00;
artikel[artikel.length] = "FED5";	artpreis[artpreis.length] =  741.00;
artikel[artikel.length] = "FED6";	artpreis[artpreis.length] =  634.00;
artikel[artikel.length] = "FED7";	artpreis[artpreis.length] =  660.00;
artikel[artikel.length] = "FED8";	artpreis[artpreis.length] =  317.00;
artikel[artikel.length] = "FED9";	artpreis[artpreis.length] =  394.00;
artikel[artikel.length] = "FED10";	artpreis[artpreis.length] =  500.00;
artikel[artikel.length] = "FED11";	artpreis[artpreis.length] =  210.00;
artikel[artikel.length] = "FED12";	artpreis[artpreis.length] =  220.00;
artikel[artikel.length] = "FED13";	artpreis[artpreis.length] =  140.00;
artikel[artikel.length] = "GEO1";	artpreis[artpreis.length] =  230.00;
artikel[artikel.length] = "GEO1+";	artpreis[artpreis.length] =  294.00;
artikel[artikel.length] = "GEO2";	artpreis[artpreis.length] =  194.00;
artikel[artikel.length] = "GEO3";	artpreis[artpreis.length] =  205.00;
artikel[artikel.length] = "GEO4";	artpreis[artpreis.length] =  265.00;
artikel[artikel.length] = "HAERTE";	artpreis[artpreis.length] =   61.00;
artikel[artikel.length] = "HPGLMAN";	artpreis[artpreis.length] =  383.00;
artikel[artikel.length] = "LG1";	artpreis[artpreis.length] =  296.00;
artikel[artikel.length] = "LG2";	artpreis[artpreis.length] =  460.00;
artikel[artikel.length] = "SISI";	artpreis[artpreis.length] =   56.00;
artikel[artikel.length] = "SR1";	artpreis[artpreis.length] =  640.00;
artikel[artikel.length] = "SR1+";	artpreis[artpreis.length] =  750.00;
artikel[artikel.length] = "TOL1";	artpreis[artpreis.length] =  506.00;
artikel[artikel.length] = "TOL1CON";	artpreis[artpreis.length] =  281.00;
artikel[artikel.length] = "TOL2";	artpreis[artpreis.length] =  495.00;
artikel[artikel.length] = "TOLPASS";	artpreis[artpreis.length] =  107.00;
artikel[artikel.length] = "TR1";	artpreis[artpreis.length] =  757.00;
artikel[artikel.length] = "WL1+";	artpreis[artpreis.length] =  945.00;
artikel[artikel.length] = "WN1";	artpreis[artpreis.length] =  485.00;
artikel[artikel.length] = "WN2";	artpreis[artpreis.length] =  250.00;
artikel[artikel.length] = "WN2+";	artpreis[artpreis.length] =  380.00;
artikel[artikel.length] = "WN3";	artpreis[artpreis.length] =  245.00;
artikel[artikel.length] = "WN4";	artpreis[artpreis.length] =  276.00;
artikel[artikel.length] = "WN5";	artpreis[artpreis.length] =  255.00;
artikel[artikel.length] = "WN6";	artpreis[artpreis.length] =  180.00;
artikel[artikel.length] = "WN7";	artpreis[artpreis.length] =  175.00;
artikel[artikel.length] = "WN8";	artpreis[artpreis.length] =  195.00;
artikel[artikel.length] = "WN9";	artpreis[artpreis.length] =  170.00;
artikel[artikel.length] = "WN10";	artpreis[artpreis.length] =  260.00;
artikel[artikel.length] = "WN11";	artpreis[artpreis.length] =  240.00;
artikel[artikel.length] = "WST1";	artpreis[artpreis.length] =  235.00;
artikel[artikel.length] = "ZAR1";	artpreis[artpreis.length] = 1002.00;
artikel[artikel.length] = "ZAR1+";	artpreis[artpreis.length] = 1115.00;
artikel[artikel.length] = "ZAR2";	artpreis[artpreis.length] =  792.00;
artikel[artikel.length] = "ZAR3";	artpreis[artpreis.length] =  404.00;
artikel[artikel.length] = "ZAR3+";	artpreis[artpreis.length] =  620.00;
artikel[artikel.length] = "ZAR4";	artpreis[artpreis.length] = 1610.00;
artikel[artikel.length] = "ZAR5";	artpreis[artpreis.length] = 1355.00;
artikel[artikel.length] = "ZAR6";	artpreis[artpreis.length] =  585.00;
artikel[artikel.length] = "ZARXP";	artpreis[artpreis.length] =  275.00;
artikel[artikel.length] = "ZM1";	artpreis[artpreis.length] =  326.00;
artikel[artikel.length] = "Spring Package";	artpreis[artpreis.length] =  2550.00;
artikel[artikel.length] = "Gear Package";	artpreis[artpreis.length] =  1585.00;
artikel[artikel.length] = "Tolerance Package";	artpreis[artpreis.length] =   945.00;
artikel[artikel.length] = "Graphic Package";	artpreis[artpreis.length] =   741.00;
artikel[artikel.length] = "Mech.Eng. Package";	artpreis[artpreis.length] =  8500.00;
artikel[artikel.length] = "Complete Package";	artpreis[artpreis.length] =  11500.00;

//
//	Update-Varianten
//
updVariantsValue[updVariantsValue.length] = "";
updVariantsTextDe[updVariantsTextDe.length] = "";
updVariantsTextEn[updVariantsTextEn.length] = "";
updVariantsTextFr[updVariantsTextFr.length] = "";
updPreis[updPreis.length] = 0.00;

updVariantsValue[updVariantsValue.length] = "Neu";
updVariantsTextDe[updVariantsTextDe.length] = "Neu-Lizenz";
updVariantsTextEn[updVariantsTextEn.length] = "new license";
updVariantsTextFr[updVariantsTextFr.length] = "nouvelle license";
updPreis[updPreis.length] = 0.00;

updVariantsValue[updVariantsValue.length] = "Update";
updVariantsTextDe[updVariantsTextDe.length] = "Programm-Update";
updVariantsTextEn[updVariantsTextEn.length] = "program update";
updVariantsTextFr[updVariantsTextFr.length] = "programme update";
updPreis[updPreis.length] = 40.00;

updVariantsValue[updVariantsValue.length] = "Update";
updVariantsTextDe[updVariantsTextDe.length] = "Programm-Update mit pdf-Handbuch";
updVariantsTextEn[updVariantsTextEn.length] = "program update with pdf manual";
updVariantsTextFr[updVariantsTextFr.length] = "programme update et pdf manual";
updPreis[updPreis.length] = 40.00;

updVariantsValue[updVariantsValue.length] = "Luxus-Update";
updVariantsTextDe[updVariantsTextDe.length] = "Luxus-Update mit gedrucktem Handbuch";
updVariantsTextEn[updVariantsTextEn.length] = "program update with printed manual";
updVariantsTextFr[updVariantsTextFr.length] = "programme update avec nouvelle manual";
updPreis[updPreis.length] = 70.00;

//
//	Lizenz-Typen
//
lizTypDe[0] = "";
lizTypDe[1] = "Einzelplatz";
lizTypDe[2] = "Netzwerk-Floatinglizenz";

lizTypEn[0] = "";
lizTypEn[1] = "individual";
lizTypEn[2] = "floating network";

lizTypFr[0] = "";
lizTypFr[1] = "individuel";
lizTypFr[2] = "floating network";

opsysVal[0] = "WINDOWS";	opsys[0] = "Windows";
opsysVal[1] = "LINUX";		opsys[1] = "Linux";

//
//	Rabatte für Timesharing-Netzwerklizenzen
//
lizFloatRabatt[0]  =  0.00;
lizFloatRabatt[1]  = -0.50;
lizFloatRabatt[2]  = -0.20;
lizFloatRabatt[3]  =  0.00;
lizFloatRabatt[4]  =  0.10;
lizFloatRabatt[5]  =  0.15;
lizFloatRabatt[6]  =  0.20;
lizFloatRabatt[7]  =  0.25;
lizFloatRabatt[8]  =  0.25;
lizFloatRabatt[9]  =  0.30;
lizFloatRabatt[10] =  0.30;
lizFloatRabatt[11] =  0.30;
lizFloatRabatt[12] =  0.35;

//
//	Rabatte für Netzwerkversionen mit Geräte- oder Userbindung
//
lizNWRabatt[0]  =  0.00;
lizNWRabatt[1]  =  0.00;
lizNWRabatt[2]  =  0.25;
lizNWRabatt[3]  =  0.275;
lizNWRabatt[4]  =  0.30;
lizNWRabatt[5]  =  0.325;
lizNWRabatt[6]  =  0.35;
lizNWRabatt[7]  =  0.375;
lizNWRabatt[8]  =  0.40;
lizNWRabatt[9]  =  0.425;
lizNWRabatt[10] =  0.45;
lizNWRabatt[11] =  0.45;
lizNWRabatt[12] =  0.45;

//
//	Versandart
//
vArtVal[vArtVal.length] = "POST";
vArtVal[vArtVal.length] = "EMAIL";

vArtTextDe[vArtTextDe.length] = "Paketdienst / Post";
vArtTextDe[vArtTextDe.length] = "E-Mail Anhang (Programm: zip, Handbuch: pdf)";

vArtTextEn[vArtTextEn.length] = "Airmail post parcel";
vArtTextEn[vArtTextEn.length] = "email attachment (program: zip, manual: pdf)";

vArtTextFr[vArtTextFr.length] = "service de colis / poste";
vArtTextFr[vArtTextFr.length] = "courrier electronique appendice (program: zip, manual: pdf)";

//
//	Versandkosten	(bei Versandart POST)
//
vKostVal[vKostVal.length] = 10;
vKostVal[vKostVal.length] = 25;
vKostVal[vKostVal.length] = 60;

vKostTextDe[vKostTextDe.length] = "Deutschland";
vKostTextDe[vKostTextDe.length] = "Europa";
vKostTextDe[vKostTextDe.length] = "Welt";

vKostTextEn[vKostTextEn.length] = "Germany";
vKostTextEn[vKostTextEn.length] = "Europe";
vKostTextEn[vKostTextEn.length] = "World";

vKostTextFr[vKostTextFr.length] = "Allemagne";
vKostTextFr[vKostTextFr.length] = "Europe";
vKostTextFr[vKostTextFr.length] = "Monde";

sprachenDe[sprachenDe.length] = "deutsch"
sprachenDe[sprachenDe.length] = "englisch"
sprachenDe[sprachenDe.length] = "französisch"
sprachenDe[sprachenDe.length] = "italienisch"
sprachenDe[sprachenDe.length] = "spanisch"
sprachenDe[sprachenDe.length] = "schwedisch"
sprachenDe[sprachenDe.length] = "portugiesisch"

sprachenEn[sprachenEn.length] = "German"
sprachenEn[sprachenEn.length] = "English"
sprachenEn[sprachenEn.length] = "French"
sprachenEn[sprachenEn.length] = "Italian"
sprachenEn[sprachenEn.length] = "Spanish"
sprachenEn[sprachenEn.length] = "Swedish"
sprachenEn[sprachenEn.length] = "Portugues"

sprachenFr[sprachenFr.length] = "allemand"
sprachenFr[sprachenFr.length] = "anglais"
sprachenFr[sprachenFr.length] = "francais"
sprachenFr[sprachenFr.length] = "italien"
sprachenFr[sprachenFr.length] = "espagnol"
sprachenFr[sprachenFr.length] = "suedois"
sprachenFr[sprachenFr.length] = "portugais"

if( sprache == "DE" ) {
    updVariantsText = updVariantsTextDe;
    lizTyp = lizTypDe;
    vArtText = vArtTextDe;
    vKostText = vKostTextDe;
    sprachen = sprachenDe;
} else if( sprache == "EN" ) {
    updVariantsText = updVariantsTextEn;
    lizTyp = lizTypEn;
    vArtText = vArtTextEn;
    vKostText = vKostTextEn;
    sprachen = sprachenEn;
} else if( sprache == "FR" ) {
    updVariantsText = updVariantsTextFr;
    lizTyp = lizTypFr;
    vArtText = vArtTextFr;
    vKostText = vKostTextFr;
    sprachen = sprachenFr;
} else {
    updVariantsText = updVariantsTextDe;
    lizTyp = lizTypDe;
    vArtText = vArtTextDe;
    vKostText = vKostTextDe;
    sprachen = sprachenDe;
}

nowStart2 = new Date();
if( test == true ) {
    alert( "init_order.js = " + (nowStart2.getTime() - nowStart1.getTime()) );
}
nowStart2 = new Date();

//alert( "MAX_BEST = " + MAX_BEST );

function updArtikel( nr, val )  {
    //alert( "updArtikel(" + nr + ", " + val + ")" );
    var	pinx = document.update.prod[nr].selectedIndex;
    var	uinx = document.update.upd[nr].selectedIndex;
    var	ltinx = document.update.liztyp[nr].selectedIndex;
    var	lcinx = document.update.lizcnt[nr].selectedIndex;
    var	liznr = document.update.liznr[nr].value;
    var	doit = 0;

    if( uinx == 0 ) {	// Keine Lizenz
	document.update.liztyp[nr].disabled = true;
	document.update.lizcnt[nr].disabled = true;
	document.update.liznr[nr].disabled = true;
    } else if( uinx == 1 ) {	// Neu-Lizenz
	if( (pinx > 0) && (uinx > 0) && (ltinx > 0) && (lcinx > 0) ) {
	    doit = 1;
	}
	document.update.liztyp[nr].disabled = false;
	document.update.lizcnt[nr].disabled = false;
	document.update.liznr[nr].disabled = true;
	document.update.liztyp[nr].focus();
    } else {
	if( (pinx > 0) && (uinx > 0) && (liznr != "") ) {
	    doit = 1;
	}
	document.update.liztyp[nr].disabled = true;
	document.update.lizcnt[nr].disabled = true;
	document.update.liznr[nr].disabled = false;
	document.update.liznr[nr].focus();
    }

    if( doit > 0 ) {
	//alert( "Liz-Typ = " + ltinx );
	var	preis = 0;
	var	epreis = 0;
	var	rabatt = 0;
	var	rab = lcinx;
	if( uinx == 1 ) {	// Neu-Lizenz
	    epreis = artpreis[pinx];
	    switch( ltinx ) {
		case 1:	// Einzelplatz
		    if( rab >= lizNWRabatt.length ) {
			rab = lizNWRabatt.length - 1;
		    }
		    rabatt = lizNWRabatt[rab];
		    break;
		case 2:	// Netzwerk-Floatinglizenz
		    if( rab >= lizFloatRabatt.length ) {
			rab = lizFloatRabatt.length - 1;
		    }
		    rabatt = lizFloatRabatt[rab];
		    break;
		case 3:	// Netzwerk (stationsgebunden)
		case 4:	// Netzwerk (usergebunden)
		    if( rab >= lizNWRabatt.length ) {
			rab = lizNWRabatt.length - 1;
		    }
		    rabatt = lizNWRabatt[rab];
		    break;
		default:	// unbekannter Lizenztyp
		    alert( "unbekannter Lizenztyp" );
		    break;
	    }
	    preis = (epreis - (epreis * rabatt)) * lcinx;
	} else {
	    preis = updPreis[uinx];
	}
	if( ! preis.toFixed ) {
	    document.update.preis[nr].value = preis;
	} else {
	    document.update.preis[nr].value = preis.toFixed(2);
	}
	calculate();
    } else {
	document.update.preis[nr].value = "";
    }
}

function updVersand()  {
    var	vinx = document.update.versand.selectedIndex;
    var	vartinx = document.update.versandart.selectedIndex;

    if( (vartinx == 0) && (vinx >= 0) ) {
	var	preis = vKostVal[vinx];
	if( ! preis.toFixed ) {
	    document.update.versandkosten.value = preis;
	} else {
	    document.update.versandkosten.value = preis.toFixed(2);
	}
    } else {
	document.update.versandkosten.value = "";
    }
    calculate();
    document.update.ustid.disabled = (vinx != 1);
    if( vinx == 1 ) {
	document.update.ustid.focus();
    }
}

function showBestRow( nr ) {
    document.write(   "<tr>" );
    document.write(   "<td><select name=\"prod\"" 
		    + " onChange=\"updArtikel(" + nr + ", this.value)\""
		    + ">" );
    document.write(   "</select></td>" );
    //document.write(   "<td><input type=radio name=\"neuupd\" value=\"Neu\">" );
    //document.write(   "<input type=radio name=\"neuupd\" value=\"Upd\"></td>" );
    document.write(   "<td>"
		    + "<select name=\"upd\"" 
		    + " onChange=\"updArtikel(" + nr + ", this.value)\""
		    + ">" );
    document.write(   "<td><select name=\"liztyp\"" 
		    + " onChange=\"updArtikel(" + nr + ", this.value)\""
		    + ">" );
    document.write(   "</select></td>" );
    document.write(   "<td><select name=\"lizcnt\""
		    + " onChange=\"updArtikel(" + nr + ", this.value)\""
		    + ">" );
    document.write(   "</select></td>" );
    document.write(   "<td><input name=\"liznr\" type=text size=8 maxlength=8"
		    + " onChange=\"updArtikel(" + nr + ", this.value)\""
		    + "></td>" );
    document.write(   "<td><input name=\"preis\" readonly size=9 maxlength=9"
		    + " align=right></td>" );
    document.write(   "</tr>" );
}

function initTotal() {
    now1 = new Date();
    document.update.mwst.value = "";
    document.update.summeNetto.value = "";
    document.update.total.value = "";
    now2 = new Date();
    if( test == true ) {
	alert( "initTotal = " + (now2.getTime() - now1.getTime()) );
    }
}

function initVersand() {
    now2 = new Date();
    if( test == true ) {
	alert( "initHtml2 = " + (now2.getTime() - nowStart3.getTime()) );
    }
    now1 = new Date();
    for( v = 0; v < vArtVal.length; v++ ) {
	opt = new Option();
	opt.value = vArtVal[v];
	opt.text  = vArtText[v];
	document.update.versandart.options[
		    document.update.versandart.length] = opt;
    }
    if( sprache == "DE" ) {
	document.update.versandart.options[0].selected = true;
	document.update.versandart.options[0].defaultSelected = true;
    } else if( sprache == "EN" ) {
	document.update.versandart.options[1].selected = true;
	document.update.versandart.options[1].defaultSelected = true;
    } else if( sprache == "FR" ) {
	document.update.versandart.options[1].selected = true;
	document.update.versandart.options[1].defaultSelected = true;
    }
    for( v = 0; v < vKostVal.length; v++ ) {
	opt = new Option();
	opt.value = vKostVal[v];
	opt.text  = vKostText[v];
	document.update.versand.options[
		    document.update.versand.length] = opt;
    }
    if( sprache == "DE" ) {
	document.update.versand.options[0].selected = true;
	document.update.versand.options[0].defaultSelected = true;
    } else if( sprache == "EN" ) {
	document.update.versand.options[2].selected = true;
	document.update.versand.options[2].defaultSelected = true;
    } else if( sprache == "FR" ) {
	document.update.versand.options[1].selected = true;
	document.update.versand.options[1].defaultSelected = true;
    }
    now2 = new Date();
    if( test == true ) {
	alert( "initVersand = " + (now2.getTime() - now1.getTime()) );
    }
    now1 = new Date();
    updVersand();
    now2 = new Date();
    if( test == true ) {
	alert( "updVersand = " + (now2.getTime() - now1.getTime()) );
    }
}

function initSprachen() {
    now1 = new Date();
    for( v = 0; v < sprachen.length; v++ ) {
	opt = new Option( sprachen[v] );
	document.update.language.options[
		    document.update.language.length] = opt;
    }
    if( sprache == "DE" ) {
	document.update.language.options[0].selected = true;
	document.update.language.options[0].defaultSelected = true;
    } else if( sprache == "EN" ) {
	document.update.language.options[1].selected = true;
	document.update.language.options[1].defaultSelected = true;
    } else if( sprache == "FR" ) {
	document.update.language.options[2].selected = true;
	document.update.language.options[2].defaultSelected = true;
    }
    now2 = new Date();
    if( test == true ) {
	alert( "initSprachen = " + (now2.getTime() - now1.getTime()) );
    }
}

function initOpSys() {
    now1 = new Date();
    for( v = 0; v < opsys.length; v++ ) {
	var	opt = new Option();
	opt.value = opsysVal[v];
	opt.text  = opsys[v];
	document.update.opsyst.options[
		    document.update.opsyst.length] = opt;
    }
    now2 = new Date();
    if( test == true ) {
	alert( "initOpSys = " + (now2.getTime() - now1.getTime()) );
    }
}

function initBestellung() {
    now2 = new Date();
    if( test == true ) {
	alert( "initHtml1 = " + (now2.getTime() - nowStart2.getTime()) );
    }
    now1 = new Date();
    for( nr = 0; nr < document.update.prod.length; nr++ ) {
	for( p = 0; p < artikel.length; p++ ) {
	    program = new Option( artikel[p] );
	    document.update.prod[nr].options[
		    document.update.prod[nr].length] = program;
	}
    }
    for( nr = 0; nr < document.update.liztyp.length; nr++ ) {
	for( p = 0; p < lizTyp.length; p++ ) {
	    typ = new Option( lizTyp[p] );
	    document.update.liztyp[nr].options[
		    document.update.liztyp[nr].length] = typ;
	}
    }
    for( nr = 0; nr < document.update.lizcnt.length; nr++ ) {
	for( p = 0; p <= MAX_LIZCNT; p++ ) {
	    cnt = new Option( (p == 0) ? "" : p );
	    document.update.lizcnt[nr].options[
		    document.update.lizcnt[nr].length] = cnt;
	}
    }
    for( nr = 0; nr < document.update.upd.length; nr++ ) {
	for( p = 0; p < updVariantsValue.length; p++ ) {
	    opt = new Option();
	    opt.value = updVariantsValue[p];
	    opt.text  = updVariantsText[p];
	    document.update.upd[nr].options[
	    document.update.upd[nr].length] = opt;
	}
    }
    for( nr = 0; nr < document.update.preis.length; nr++ ) {
	updArtikel( nr, "" )
    }
    now2 = new Date();
    if( test == true ) {
	alert( "initBestellung = " + (now2.getTime() - now1.getTime()) );
    }
    nowStart3 = new Date();
}

function calculate() {
    var	sum = new Number( 0 );
    for( i = 0; i < MAX_BEST; i++ ) {
	var	preis = document.update.preis[i].value;
	if( preis != "" ) {
	    sum += new Number( preis );
	}
    }
    preis = new Number( document.update.versandkosten.value );
    sum += preis;
    if( ! preis.toFixed ) {
	document.update.summeNetto.value = sum;
    } else {
	document.update.summeNetto.value = sum.toFixed(2);
    }

    var	vinx = document.update.versand.selectedIndex;
    var	steuer = 0;
    if( vinx == 0 ) { // Deutschland
	steuer = sum * mwstSatz;
    }
    var	total = new Number( sum + steuer );
    if( ! preis.toFixed ) {
	document.update.mwst.value = steuer;
	document.update.total.value = total;
    } else {
	document.update.mwst.value = steuer.toFixed(2);
	document.update.total.value = total.toFixed(2);
    }
}

function chkBestellung() {
    if( sprache == "DE" ) {
	return chkBestellungDe();
    } else if( sprache == "EN" ) {
	return chkBestellungEn();
    } else if( sprache == "FR" ) {
	return chkBestellungFr();
    } else {
	return chkBestellungDe();
    }
}

function chkBestellungDe() {
    for( nr = 0; nr < document.update.prod.length; nr++ ) {
	if( document.update.prod[nr].value == "" ) continue;
	if( document.update.upd[nr].value == "" ) {
	    alert( "Bitte Bestellvariante angeben" );
	    document.update.upd[nr].focus();
	    return false;
	}
	if( document.update.upd[nr].selectedIndex == 1 ) {
	    if( document.update.liztyp[nr].value == "" ) {
		alert( "Bitte Lizenztyp auswählen" );
		document.update.liztyp[nr].focus();
		return false;
	    }
	    if( document.update.lizcnt[nr].value == "" ) {
		alert( "Bitte Anzahl Lizenzen angeben" );
		document.update.lizcnt[nr].focus();
		return false;
	    }
	} else {
	    if( document.update.liznr[nr].value == "" ) {
		alert( "Bitte Lizenznummer angeben" );
		document.update.liznr[nr].focus();
		return false;
	    }
	}
    }
    if(    (document.update.versand.selectedIndex == 1)
	&& (document.update.ustid.value == "") 
    ) {
	alert( "Bitte Umsatzsteuer-Ident-Nr. angeben" );
	document.update.ustid.focus();
	return false;
    }
    for( nr = 1; nr < document.update.zahlart.length; nr++ ) {
	var	knr = nr - 1;
	if( ! document.update.zahlart[nr].checked ) continue;
	if( document.update.cardnr[knr].value == "" ) {
	    alert( "Bitte Kreditkartennummer angeben" );
	    document.update.cardnr[knr].focus();
	    return false;
	}
	if( document.update.cardnr[knr].value.length != 16 ) {
	    alert( "Bitte Kreditkartennummer 16-stellig ohne Leerzeichen angeben" );
	    document.update.cardnr[knr].focus();
	    return false;
	}
	if( document.update.carddate[knr].value == "" ) {
	    alert( "Bitte Ablaufdatum der Kreditkarte angeben" );
	    document.update.carddate[knr].focus();
	    return false;
	}
	if( document.update.cardholder[knr].value == "" ) {
	    alert( "Bitte Kreditkarteninhaber angeben" );
	    document.update.cardholder[knr].focus();
	    return false;
	}
    }
    if( document.update.name.value == "" ) {
	alert( "Bitte Namen angeben" );
	document.update.name.focus();
	return false;
    }
    if( document.update.address.value == "" ) {
	alert( "Bitte Addresse angeben" );
	document.update.address.focus();
	return false;
    }
    if( document.update.plz.value == "" ) {
	alert( "Bitte Postleitzahl angeben" );
	document.update.plz.focus();
	return false;
    }
    if( document.update.ort.value == "" ) {
	alert( "Bitte Ort angeben" );
	document.update.ort.focus();
	return false;
    }
    if(    (document.update.email.value == "")
	|| (document.update.email.value.indexOf('@') < 0)
    ) {
	alert( "Bitte email-Adresse angeben" );
	document.update.email.focus();
	return false;
    }
    return true;
}

function chkBestellungEn() {
    for( nr = 0; nr < document.update.prod.length; nr++ ) {
	if( document.update.prod[nr].value == "" ) continue;
	if( document.update.upd[nr].value == "" ) {
	    alert( "Please choose an update-variant" );
	    document.update.upd[nr].focus();
	    return false;
	}
	if( document.update.upd[nr].selectedIndex == 1 ) {
	    if( document.update.liztyp[nr].value == "" ) {
		alert( "Please enter a type of an licence" );
		document.update.liztyp[nr].focus();
		return false;
	    }
	    if( document.update.lizcnt[nr].value == "" ) {
		alert( "Please enter the count of licences" );
		document.update.lizcnt[nr].focus();
		return false;
	    }
	} else {
	    if( document.update.liznr[nr].value == "" ) {
		alert( "Please enter your licence-number" );
		document.update.liznr[nr].focus();
		return false;
	    }
	}
    }
    if(    (document.update.versand.selectedIndex == 1)
	&& (document.update.ustid.value == "") 
    ) {
	alert( "Please enter your VAT-ID." );
	document.update.ustid.focus();
	return false;
    }
    for( nr = 1; nr < document.update.zahlart.length; nr++ ) {
	var	knr = nr - 1;
	if( ! document.update.zahlart[nr].checked ) continue;
	if( document.update.cardnr[knr].value == "" ) {
	    alert( "Please enter the number of your creditcard" );
	    document.update.cardnr[knr].focus();
	    return false;
	}
	if( document.update.cardnr[knr].value.length != 16 ) {
	    alert( "Please enter your credidcard-number without blanks (16-digits)" );
	    document.update.cardnr[knr].focus();
	    return false;
	}
	if( document.update.carddate[knr].value == "" ) {
	    alert( "Please enter the expiration-date of your creditcard" );
	    document.update.carddate[knr].focus();
	    return false;
	}
	if( document.update.cardholder[knr].value == "" ) {
	    alert( "Please enter the holder of your creditcard" );
	    document.update.cardholder[knr].focus();
	    return false;
	}
    }
    if( document.update.name.value == "" ) {
	alert( "Please enter your name" );
	document.update.name.focus();
	return false;
    }
    if( document.update.address.value == "" ) {
	alert( "Please enter your address" );
	document.update.address.focus();
	return false;
    }
    if( document.update.plz.value == "" ) {
	alert( "Please enter your zip-code" );
	document.update.plz.focus();
	return false;
    }
    if( document.update.ort.value == "" ) {
	alert( "Please enter your city" );
	document.update.ort.focus();
	return false;
    }
    if(    (document.update.email.value == "")
	|| (document.update.email.value.indexOf('@') < 0)
    ) {
	alert( "Please enter your email-address" );
	document.update.email.focus();
	return false;
    }
    return true;
}

function chkBestellungFr() {
    for( nr = 0; nr < document.update.prod.length; nr++ ) {
	if( document.update.prod[nr].value == "" ) continue;
	if( document.update.upd[nr].value == "" ) {
	    alert( "Bitte Bestellvariante angeben" );
	    document.update.upd[nr].focus();
	    return false;
	}
	if( document.update.upd[nr].selectedIndex == 1 ) {
	    if( document.update.liztyp[nr].value == "" ) {
		alert( "Bitte Lizenztyp auswählen" );
		document.update.liztyp[nr].focus();
		return false;
	    }
	    if( document.update.lizcnt[nr].value == "" ) {
		alert( "Bitte Anzahl Lizenzen angeben" );
		document.update.lizcnt[nr].focus();
		return false;
	    }
	} else {
	    if( document.update.liznr[nr].value == "" ) {
		alert( "Bitte Lizenznummer angeben" );
		document.update.liznr[nr].focus();
		return false;
	    }
	}
    }
    if(    (document.update.versand.selectedIndex == 1)
	&& (document.update.ustid.value == "") 
    ) {
	alert( "Bitte Umsatzsteuer-Ident-Nr. angeben" );
	document.update.ustid.focus();
	return false;
    }
    for( nr = 1; nr < document.update.zahlart.length; nr++ ) {
	var	knr = nr - 1;
	if( ! document.update.zahlart[nr].checked ) continue;
	if( document.update.cardnr[knr].value == "" ) {
	    alert( "Bitte Kreditkartennummer angeben" );
	    document.update.cardnr[knr].focus();
	    return false;
	}
	if( document.update.cardnr[knr].value.length != 16 ) {
	    alert( "Bitte Kreditkartennummer 16-stellig ohne Leerzeichen angeben" );
	    document.update.cardnr[knr].focus();
	    return false;
	}
	if( document.update.carddate[knr].value == "" ) {
	    alert( "Bitte Ablaufdatum der Kreditkarte angeben" );
	    document.update.carddate[knr].focus();
	    return false;
	}
	if( document.update.cardholder[knr].value == "" ) {
	    alert( "Bitte Kreditkarteninhaber angeben" );
	    document.update.cardholder[knr].focus();
	    return false;
	}
    }
    if( document.update.name.value == "" ) {
	alert( "Bitte Namen angeben" );
	document.update.name.focus();
	return false;
    }
    if( document.update.address.value == "" ) {
	alert( "Bitte Addresse angeben" );
	document.update.address.focus();
	return false;
    }
    if( document.update.plz.value == "" ) {
	alert( "Bitte Postleitzahl angeben" );
	document.update.plz.focus();
	return false;
    }
    if( document.update.ort.value == "" ) {
	alert( "Bitte Ort angeben" );
	document.update.ort.focus();
	return false;
    }
    if(    (document.update.email.value == "")
	|| (document.update.email.value.indexOf('@') < 0)
    ) {
	alert( "Bitte email-Adresse angeben" );
	document.update.email.focus();
	return false;
    }
    return true;
}
  
//  end  -->

