var testvariable = 1;
/* Wenn der User das erste mal ein i öffnet wird diese variable true.
Dies ist nötig, da der IE Den Inhalt der IFrames mitspeichert und so
schon ein i-nhalt geladen werden kann, wodurch der am Ende befindliche Javascript-Code zu Fehlern führt. */
var onmouseover_i = false;
var mouseEvent1 = "";
//Diese Variable enthält für jede Select-Box die Info ob der Zusatztext angezeigt werden darf.
var selectShowZusatztext = Array ( );
var fadeInDiv = '';
var fadeInDivDetaildummy = '';
var fadeInDivString = '';
var fadeInDivDocument = '';
var fadeInDivDocumentString = '';
//nimmt die Pflichtgruppen auf
var pflichtgruppen = [];
//nimmt die ausschlusslisten auf
var ausschlussliste = [];
//zuordnung von Artikelnummern zu IDs und umgekehrt
var zusatzartikel = [];
function in_array(needle, haystack, strict) {
// Checks if the given value exists in the array
//
// version: 810.114
// discuss at: http://phpjs.org/functions/in_array
// +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// *     example 1: in_array('van', ['Kevin', 'van', 'Zonneveld']);
// *     returns 1: true
var found = false, key, strict = !!strict;
for (key in haystack) {
if ((strict && haystack[key] === needle) || (!strict && haystack[key] == needle)) {
found = true;
break;
}
}
return found;
}
/* Preis aus preis1, rcspreis ,rabatt, abweichnder Preis, Preis als Zusatzartikel und dem kostenlos Flag berechnen
Eingabe können Strings sein, Ergebnis als FP lassen
Preis1:   Ist der immer gesetzte Preis.
RCSPreis: In Marvin Internet-Preis
Rabatt:   Wird nur auf Preis1 und RCSPreis gewährt.
abweichender Preis: In der Tabelle OS_Zusatzartikel ist dieser Preis für jeden Zusatzartikel abhängig vom Hauptartikel konfigurierbar.
Preis als Zusatzartikel: In der Tabelle OS_Artikel. Beschreibt eigentlich den  Preis den ein Artikel als Zusatzartikel haben kann.
Sollte sonst nirgends im OS beachtet werden.
Kann mittlerweile auch als abweichender Preis für Hauptartikel im Konfigurator gelten.
XKostenlos: Mögliche werte: ja - Da Marvin bei Zahlenwerten oft keinen NULL wert setzen kann und dieser immer 0 wird
gibt dieser Wert an das der Artikel kostenlos ist.
inklusive - Wie 'ja' allerdings wird die Differenz zum Listenpreis nicht in den Sparvorteil aufgenommen.
nein - Der Wert wird ganz normal lberechnet. */
function preis_berechnen ( pr1, rpr, rab, apr, zpr, kos )
{
var pre1 = 0;
if ( rpr === "" )
{
pre1 = parseFloat ( pr1 );
}
else
{
pre1 = parseFloat ( rpr );
}
if ( rab !== "" )
{
var rabatt = parseFloat ( rab );
if ( rabatt !== 0 )
{
pre1 = ( 100 - rabatt ) / 100 * pre1;
}
}
if ( zpr !== "" && parseFloat ( zpr ) !== 0 )
{
pre1 = parseFloat ( zpr );
}
if ( apr !== "" && parseFloat ( apr ) !== 0 )
{
pre1 = parseFloat ( apr );
}
if ( kos.toLowerCase() == 'ja' || kos.toLowerCase() == 'inklusive' )
{
pre1 = 0;
}
return pre1;
}
// Preis pr1 (FP) für Ausgabe formatieren
// tpunkt=1: Tausenderpunkt einfügen
// nk2=0: Keine Nachkommastellen --> math. runden
// nk2=1: auf 2 Nachkommastellen runden
// nk2=2: auf 2 Nachkommastellen runden und bei ,00 weglassen
// nkstrich=1: Statt ,00 ,- schreiben; bei nk2=0 immer ,- anhängen
// vz=1: Vorzeichen erzwingen (auch bei positiven Zahlen)
function preis_format ( pr1, tpunkt, nk2, nkstrich, vz )
{
// Variable für das Vorzeichen
var vorz = "";
if ( vz == 1 )
{
// Vorzeichen wird erzwungen
if ( pr1 < 0 )
{
// Preis kleiner 0 => Vorzeichen ist '-', wird später gesetzt
vorz = '';
}
else
{
// Preis größer 0 => Vorzeichen ist '+'
vorz = '+';
}
}
// Variable für den Preis
var preis;
if ( nk2 === 0 )
{
// runden auf 0 Nachkommastellen
preis = Math.round ( pr1 ) * 100;
}
else
{
// runden auf 2 Nachkommastellen
preis = Math.round ( pr1 * 100 );
}
// String, der den Preuis enthält
var preis1 = preis.toString();
// Länge des Strings
var plen = preis1.length;
if ( plen < 3 )
{
if ( plen < 2 )
{
nachkomma = "0" + preis1;
}
else
{
nachkomma = preis1;
}
vorkomma="0";
}
else
{
nachkomma = preis1.substr ( plen - 2, 2 );
vorkomma = preis1.substr ( 0, plen - 2 );
}
if ( tpunkt == 1 )
{
if ( plen >= 6 )
{
vorkomma = vorkomma.substr ( 0, plen - 5 ) + "." + vorkomma.substr ( plen - 5, plen - 3 );
}
}
if ( nk2 === 2 )
{
if ( nachkomma == "00" )
{
nachkomma = "";
}
}
if ( nkstrich == 1 )
{
if ( ( nachkomma == "00" ) || ( nk2 === 0 ) )
{
nachkomma = '&ndash;';
}
}
if ( ( nk2 == 1 ) || ( nk2 == 2 && nachkomma !== "" ) )
{
return vorz + vorkomma + "," + nachkomma;
}
else
{
return vorz + vorkomma;
}
}
// Funtion die die Bildquelle ändert beim onmouseover.
function bild_over ( id )
{
window.document.images [ id ].src = "bilder/angebote/" + id + "_m.gif";
}
// Funtion die die Bildquelle ändert beim onmouseout.
function bild_out ( id )
{
if ( rubrik != id )
{
window.document.images [ id ].src = "bilder/angebote/" + id + "_o.gif";
}
}
// Funktion die das umschalten zwischen den Varianten verwaltet.
//   standardmäßig ist nur die erste Variante geladen.
//   Alle anderen werden ggf. nachgeladen.
//   Wurde eine Variante einmal geladen so wird nur noch umgeschaltet.
function variante_click ( art_id, var_nr )
{
if ( ang_load [ art_id ] [ var_nr - 1 ] === false )
{
document.getElementById ( 'body_main' ).style.cursor = 'wait';
ladeVariante1 ( art_id, var_nr );
}
else
{
form = "form_" + art_id + "_" + var_nr;
if ( akt_var [ art_id ] != var_nr - 1)
{
i = 1;
// Bild umschalten
while ( window.document.images [ "var_" + art_id + "_" + i ] )
{
if ( i != var_nr )
{
window.document.images [ "var_" + art_id + "_" + i ].src = "bilder/angebote/variante" + i + "-i.gif";
if ( window.document.getElementById ( "td_Sparvorteil_" + art_id + "_" + i ) )
{
window.document.getElementById ( "td_Sparvorteil_" + art_id + "_" + i).style.visibility = 'hidden';
}
if ( window.document.getElementById( "td_Sparvorteil_" + art_id + "_" + i + "_wert" ) )
{
window.document.getElementById( "td_Sparvorteil_" + art_id + "_" + i + "_wert").style.visibility = 'hidden';
}
if ( window.document.getElementById( "td_Sparvorteil_p_" + art_id + "_" + i ) )
{
window.document.getElementById( "td_Sparvorteil_p_" + art_id + "_" + i).style.visibility = 'hidden';
}
if ( window.document.getElementById( "Sparvorteil_span_" + art_id + "_" + i ) )
{
window.document.getElementById( "Sparvorteil_span_" + art_id + "_" + i).style.visibility = 'hidden';
window.document.getElementById( "Sparvorteil_span_" + art_id + "_" + i).style.display = 'none';
}
}
i = i + 1;
}
window.document.images [ "var_" + art_id + "_" + var_nr ].src = "bilder/angebote/variante" + var_nr + "-b.gif";
//window.document.images["ang_"+art_id+'_'+var_nr].src="bilder/angebote/konfigurator/"+ang_bild[art_id][var_nr-1]+".jpg";
for ( l = 1; l <= 5; l ++ )
{
if ( document.getElementById( 'artikel_' + art_id + '_variante_' + l ) )
{
document.getElementById( 'artikel_' + art_id + '_variante_' + l ).style.display = 'none';
}
}
//window.document.getElementById('artikel_' + art_id + '_variante_' + (akt_var[art_id]+1)).style.display = 'none';
window.document.getElementById( "artikel_" + art_id + "_variante_" + var_nr ).style.display = 'inline';
akt_over_nr = -1;
akt_over_id = -1;
akt_var [ art_id ] = var_nr - 1;
}
//evtl: Überschrift ( nur bei einzel-Konfigurator ) ändern!
if ( document.getElementById ( 'einzel_heading' ) )
{
document.all.einzel_heading.innerHTML = document.all [ 'set_text_' + art_id + '_' + var_nr ].innerHTML;
}
preis_anzeigen2 ( art_id, var_nr, form, false );
}
}
// Ändert das Bild der Reiter beim mouseOver
function variante_over( art_id, var_nr )
{
document.getElementById( 'body_main' ).style.cursor = 'hand';
if ( window.document.images[ "var_" + art_id + "_" + var_nr ].src.indexOf( "bilder/angebote/variante" + var_nr + "-b.gif" ) > -1 )
{
akt_over_id = -1;
akt_over_nr = -1;
}
else
{
window.document.images[ "var_" + art_id + "_" + var_nr ].src = "bilder/angebote/variante" + var_nr + "-r.gif";
akt_over_id = art_id;
akt_over_nr = var_nr;
}
}
// Setzt das Bild der Reiter wieder zurück
function variante_out( art_id, var_nr )
{
document.getElementById( 'body_main' ).style.cursor = 'default';
if ( ( akt_over_id == art_id ) && ( akt_over_nr == var_nr ) )
{
window.document.images[ "var_" + art_id + "_" + var_nr ].src = "bilder/angebote/variante" + var_nr + "-i.gif";
}
akt_over_id = -1;
akt_over_nr = -1;
}
// Blendet die Logos (mittlere Spalte, unten) der Softwares um.
// Hierbei könne diese aus der Tabelle OS_Software kommen, oder bei den Artikeln definiert sein.
// Vorrang haben die bei den Artikeln definierten.
function showZusatztext( nr, vnr, form, sel )
{
if ( selectShowZusatztext [ 'zusatz_select_' + nr + '_' + vnr + '_' + sel ] )
{
sel2 = 0;
for ( k = 0; k < document.forms [ form ].elements.length; k ++ )
{
if ( document.forms[ form ].elements[ k ].type == 'select-one' )
{
sel2 ++;
if ( sel == sel2 )
{
for ( r = 0; r < document.forms[ form ].elements[ k ].options.length; r ++ )
{
if ( document.forms[ form ].elements[ k ].options[ r ].selected === true )
{
if ( za_txt [ nr ] [ vnr - 1 ] [ selectstart [ nr ] [ vnr - 1 ] + sel2 - 1 ] [ 1 ] === '' )
{
l = r + 1;
}
else
{
l = r + 1;
}
anr = za_anr [ nr ] [ vnr - 1 ] [ selectstart [ nr ] [ vnr - 1 ] + sel2 - 1 ] [ l ];
}
else
{
if ( za_txt [ nr ] [ vnr - 1 ] [ selectstart [ nr ] [ vnr - 1 ] + sel2 - 1 ] [ 1 ] === '' )
{
l = r + 1;
}
else
{
l = r + 1;
}
if ( document.getElementById ( 'text_' + ang_anr [ nr ] [ vnr - 1 ] + '_' + za_anr [ nr ] [ vnr - 1 ] [ selectstart [ nr ] [ vnr - 1 ] + sel2 - 1 ] [ l ] ) !== null )
{
document.getElementById ( 'text_' + ang_anr [ nr ] [ vnr - 1 ] + '_' + za_anr [ nr ] [ vnr - 1 ] [ selectstart [ nr ] [ vnr - 1 ] + sel2 - 1 ] [ l ] ).style.display = 'none';
}
if ( document.getElementById ( 'stext_' + ang_anr [ nr ] [ vnr - 1 ] + '_' + za_anr [ nr ] [ vnr - 1 ] [ selectstart [ nr ] [ vnr - 1 ] + sel2 - 1 ] [ l ] ) !== null )
{
document.getElementById ( 'stext_' + ang_anr [ nr ] [ vnr - 1 ] + '_' + za_anr [ nr ] [ vnr - 1 ] [ selectstart [ nr ] [ vnr - 1 ] + sel2 - 1 ] [ l ] ).style.display = 'none';
}
}
}
}
}
}
if ( document.getElementById ( 'text_' + ang_anr [ nr ] [ vnr - 1 ] + '_' + anr) !== null )
{
document.getElementById ( 'text_' + ang_anr [ nr ] [ vnr - 1 ] + '_' + anr ).style.display = 'inline';
}
else
{
if ( document.getElementById ( 'stext_' + ang_anr [ nr ] [ vnr - 1 ] + '_' + anr ) !== null )
{
document.getElementById ( 'stext_' + ang_anr [ nr ] [ vnr - 1 ] + '_' + anr ).style.display = 'inline';
}
}
}
}
// Liefert den Preis des ausgewählten Artikels einer Select-Box zurück.
function getSelectedPreis ( art_id, var_nr, form, i, sel )
{
preis_temp = 0;
for ( j = 0; j < document.forms [ form ].elements [ i ].options.length; j ++ )
{
if ( document.forms [ form ].elements [ i ].options [ j ].selected === true )
{
preis_temp = preis_berechnen ( za_pr1 [ art_id ] [ var_nr - 1 ] [ selectstart [ art_id ] [ var_nr - 1 ] + sel - 1 ] [ j + 1 ], za_rpr [ art_id ] [ var_nr - 1 ] [ selectstart [ art_id ] [ var_nr - 1 ] + sel - 1 ] [ j + 1 ],za_rab [ art_id ] [ var_nr - 1 ] [ selectstart [ art_id ] [ var_nr - 1 ] + sel - 1 ] [ j + 1 ], za_apr [ art_id ] [ var_nr - 1 ] [ selectstart [ art_id ] [ var_nr - 1 ] + sel - 1 ] [ j + 1 ], za_zpr [ art_id ] [ var_nr - 1 ] [ selectstart [ art_id ] [ var_nr - 1 ] + sel - 1 ] [ j + 1 ], za_kos [ art_id ] [ var_nr - 1 ] [ selectstart [ art_id ] [ var_nr - 1 ] + sel - 1 ] [ j + 1 ] );
break;
}
}
return preis_temp;
}
// Liefert die größte Preisdifferenz innerhalb einer Select-Box zurück
function getLongestDifference ( art_id, var_nr, form, i, sel )
{
spreis = getSelectedPreis ( art_id, var_nr, form, i, sel );
diff = 0;
for ( j = 0; j < document.forms [ form ].elements [ i ].options.length; j ++ )
{
preis_temp = preis_berechnen ( za_pr1 [ art_id ] [ var_nr - 1 ] [ selectstart [ art_id ] [ var_nr - 1 ] + sel - 1 ] [ j + 1 ], za_rpr [ art_id ] [ var_nr - 1 ] [ selectstart [ art_id ] [ var_nr - 1 ] + sel - 1 ] [ j + 1 ], za_rab [ art_id ] [ var_nr - 1 ] [ selectstart [ art_id ] [ var_nr - 1 ] + sel - 1 ] [ j + 1 ], za_apr [ art_id ] [ var_nr - 1 ] [ selectstart [ art_id ] [ var_nr - 1 ] + sel - 1 ] [ j + 1 ], za_zpr [ art_id ] [ var_nr - 1 ] [ selectstart [ art_id ] [ var_nr - 1 ] + sel - 1 ] [ j + 1 ], za_kos [ art_id ] [ var_nr - 1 ] [ selectstart [ art_id ] [ var_nr - 1 ] + sel - 1 ] [ j + 1 ] );
preis_temp = spreis - preis_temp;
preis_temp = preis_format ( preis_temp, 0, 2, 1, 1 );
preis_temp = preis_temp.toString( );
if ( preis_temp.length > diff )
{
diff = preis_temp.length;
}
}
return diff;
}
// Simuliert einen Click auf eine Checkbox
function clickElement ( art_id, var_nr, form, artnr )
{
che = 0;
for ( i = 0; i < document.forms[ form ].elements.length; i ++ )
{
if ( document.forms[ form ].elements[ i ].type == 'hidden' )
{
continue;
}
if ( document.forms[ form ].elements[ i ].type == 'select-one' )
{
continue;
}
che ++;
if ( za_anr [ art_id ] [ var_nr - 1 ] [ che ] == artnr )
{
if ( document.forms[ form ].elements[ i ].checked === false )
{
document.forms[ form ].elements[ i ].click();
}
}
}
}
function ausschlussMessage ( art_id, var_nr, che_orig, form )
{
var che = 0;
var cause = [];
for ( i = 0; i < document.forms[ form ].elements.length; i ++ )
{
if ( document.forms[ form ].elements[ i ].type == 'checkbox' )
{
che ++;
if ( typeof ausschlussliste [ 'k_' + art_id ] != "undefined" && typeof ausschlussliste [ 'k_' + art_id ] [ 'v_' + var_nr ] != "undefined" && typeof ausschlussliste [ 'k_' + art_id ] [ 'v_' + var_nr ] [ 'zusatz_' + art_id + '_' + var_nr + '_' + che ] != "undefined" )
{
ausschlussArtikel = ausschlussliste [ 'k_' + art_id ] [ 'v_' + var_nr ] [ 'zusatz_' + art_id + '_' + var_nr + '_' + che ];

for ( j = 0; j < ausschlussArtikel.length; j ++ )
{
if ( zusatzartikel [ 'k_' + art_id ] [ 'v_' + var_nr ] [ 'id' ] [ ausschlussArtikel [ j ] ] == art_id + '_' + var_nr + '_' + che_orig )
{
cause.push ( zusatzartikel [ 'k_' + art_id ] [ 'v_' + var_nr ] [ 'text' ] [ art_id + '_' + var_nr + '_' + che ] );
}
}
}
}
}
if ( cause.length > 0 )
{
alertText = "Dieser Artikel ist zur Zeit deaktiviert,\nda er nicht mit folgenden Artikeln zusammen bestellt werden kann:";
for ( i = 0; i < cause.length; i ++ )
{
alertText += "\n  - " + cause [ i ];
}
alert ( alertText );
}
else
{
alert ( "Dieser Artikel kann nicht mit anderen ausgewählten zusammen bestellt werden." );
}

}
function ausschlussliste_click ( art_id, var_nr, che_orig, form )
{
if ( ( typeof ausschlussliste [ 'k_' + art_id ] != "undefined" && typeof ausschlussliste [ 'k_' + art_id ] [ 'v_' + var_nr ] != "undefined" && typeof ausschlussliste [ 'k_' + art_id ] [ 'v_' + var_nr ] [ 'zusatz_' + art_id + '_' + var_nr + '_' + che_orig ] != "undefined" ) || che_orig == -1 )
{
var che = 0;
if ( che_orig != -1 )
{
ausschlussArtikel = ausschlussliste [ 'k_' + art_id ] [ 'v_' + var_nr ] [ 'zusatz_' + art_id + '_' + var_nr + '_' + che_orig ];
//aktuellen ausführen
if ( document.getElementById ( 'zusatz_' + art_id + '_' + var_nr + '_' + che_orig ).checked )
{
if ( document.getElementById ( 'zusatz_' + art_id + '_' + var_nr + '_' + che_orig ).style.display == 'none' )
{
document.getElementById ( 'zusatz_' + art_id + '_' + var_nr + '_' + che_orig ).checked = false;
ausschlussMessage ( art_id, var_nr, che_orig, form );
}
else
{
for ( var i = 0; i < ausschlussArtikel.length; i ++ )
{
tempAusschlussArtikel = zusatzartikel [ 'k_' + art_id ] [ 'v_' + var_nr ] [ 'id' ] [ ausschlussArtikel [ i ] ];

document.getElementById ( 'zusatz_' + tempAusschlussArtikel ).checked = false;
document.getElementById ( 'zusatz_' + tempAusschlussArtikel ).style.display = 'none';
document.getElementById ( 'zusatz_' + tempAusschlussArtikel + '_ausschluss' ).style.display = 'inline';
}
}
}
}

hooked = [];

//Alle durchgehen und ggf. disablen
for ( i = 0; i < document.forms[ form ].elements.length; i ++ )
{
if ( document.forms[ form ].elements[ i ].type == 'checkbox' )
{
che ++;
if ( document.forms[ form ].elements[ i ].checked )
{
if ( typeof ausschlussliste [ 'k_' + art_id ] != "undefined" && typeof ausschlussliste [ 'k_' + art_id ] [ 'v_' + var_nr ] != "undefined" && typeof ausschlussliste [ 'k_' + art_id ] [ 'v_' + var_nr ] [ 'zusatz_' + art_id + '_' + var_nr + '_' + che ] != "undefined" )
{
ausschlussArtikel = ausschlussliste [ 'k_' + art_id ] [ 'v_' + var_nr ] [ 'zusatz_' + art_id + '_' + var_nr + '_' + che ];
for ( var j = 0; j < ausschlussArtikel.length; j ++ )
{
tempAusschlussArtikel = zusatzartikel [ 'k_' + art_id ] [ 'v_' + var_nr ] [ 'id' ] [ ausschlussArtikel [ j ] ];
document.getElementById ( 'zusatz_' + tempAusschlussArtikel ).checked = false;
document.getElementById ( 'zusatz_' + tempAusschlussArtikel ).style.display = 'none';
document.getElementById ( 'zusatz_' + tempAusschlussArtikel + '_ausschluss' ).style.display = 'inline';
hooked.push ( 'zusatz_' + tempAusschlussArtikel );
}
}
}
}
}

for ( i = 0; i < document.forms[ form ].elements.length; i ++ )
{
if ( document.forms[ form ].elements[ i ].type == 'checkbox' )
{
if ( document.forms[ form ].elements[ i ].id != "" )
{
if ( !in_array ( document.forms[ form ].elements[ i ].id, hooked ) )
{
document.forms[ form ].elements[ i ].style.display = 'inline';
document.getElementById ( document.forms[ form ].elements[ i ].id + '_ausschluss' ).style.display = 'none';
}
}
}
}
}
}
//gibt die Meldung aus falls die Pflichtgruppe verletzt würde
function pflichtgruppenMessage ( art_id, var_nr, che )
{
//Gruppe ermitteln
if ( pflichtgruppen [ 'k_' + art_id ] && pflichtgruppen [ 'k_' + art_id ] [ 'v_' + var_nr ] && pflichtgruppen [ 'k_' + art_id ] [ 'v_' + var_nr ] [ 'name' ] [ 'zusatz_' + art_id + '_' + var_nr + '_' + che ] )
{
group = pflichtgruppen [ 'k_' + art_id ] [ 'v_' + var_nr ] [ 'name' ] [ 'zusatz_' + art_id + '_' + var_nr + '_' + che ];
//Andere Gruppenteilnehmer ermitteln
groupMembers = pflichtgruppen [ 'k_' + art_id ] [ 'v_' + var_nr ] [ 'ids' ] [ group ] [ 'ids' ];
groupMinValue = pflichtgruppen [ 'k_' + art_id ] [ 'v_' + var_nr ] [ 'ids' ] [ group ] [ 'minValue' ];
alertText = "Von den, mit dem orangen „i” markierten Artikeln:\n";
for ( var i = 0; i < groupMembers.length; i ++ )
{
alertText += "  - " + pflichtgruppen [ 'k_' + art_id ] [ 'v_' + var_nr ] [ 'text' ] [ groupMembers [ i ] ] + "\n";
}
if ( groupMinValue > 1 )
{
alertText += "müssen mindestens " + groupMinValue + " Artikel ausgewählt sein.";
}
else
{
alertText += "muss mindestens 1 Artikel ausgewählt sein.";
}
alert ( alertText );
}
}
//Überprüft die Einhaltung der Pflichtgruppenregeln
function pflichtgruppe_click ( art_id, var_nr, che )
{
//Gruppe ermitteln
if ( pflichtgruppen [ 'k_' + art_id ] && pflichtgruppen [ 'k_' + art_id ] [ 'v_' + var_nr ] && pflichtgruppen [ 'k_' + art_id ] [ 'v_' + var_nr ] [ 'name' ] [ 'zusatz_' + art_id + '_' + var_nr + '_' + che ] )
{
group = pflichtgruppen [ 'k_' + art_id ] [ 'v_' + var_nr ] [ 'name' ] [ 'zusatz_' + art_id + '_' + var_nr + '_' + che ];
//Andere Gruppenteilnehmer ermitteln
groupMembers = pflichtgruppen [ 'k_' + art_id ] [ 'v_' + var_nr ] [ 'ids' ] [ group ] [ 'ids' ];
groupMinValue = pflichtgruppen [ 'k_' + art_id ] [ 'v_' + var_nr ] [ 'ids' ] [ group ] [ 'minValue' ];
//Zählen wie viele checked=true sind
numberOfCheckedMembers = 0;
for ( var i = 0; i < groupMembers.length; i ++ )
{
if ( document.getElementById(groupMembers[i]).checked )
{
numberOfCheckedMembers ++;
}
}
//Ist der tatsächliche Wert kleiner dem Soll, die aktuelle checkbox wieder checken
if ( numberOfCheckedMembers < groupMinValue )
{
document.getElementById ( 'zusatz_' + art_id + '_' + var_nr + '_' + che ).checked = true;
pflichtgruppenMessage ( art_id, var_nr, che );
}
//Zählen wie viele checked=true sind
numberOfCheckedMembers = 0;
for ( var i = 0; i < groupMembers.length; i ++ )
{
if ( document.getElementById(groupMembers[i]).checked )
{
numberOfCheckedMembers ++;
}
}
//Fehlerfall
//Dieser Fall sollte NIE auftreten, falls doch, wenigstens eine EMail schicken...
if ( numberOfCheckedMembers < groupMinValue )
{
window.frames.fehler.location.href="konfigurator_email.dml?pflichtgruppenFehler=Gruppe%3A%20" + group + "%20Gruppenmitglieder%3A%20" + groupMembers.toString() + "%20minValue%3A%20" + groupMinValue + "%20tats%E4chlicher%20Wert%3A%20" + numberOfCheckedMembers;
}
//Falls Die Mindestanzahl erreicht wurde, die verbleibenden Checkboxen auf disabled setzen, sonst alle Checkboxen enablen
if ( numberOfCheckedMembers <= groupMinValue )
{
for ( var i = 0; i < groupMembers.length; i ++ )
{
if ( document.getElementById(groupMembers[i]).checked )
{
document.getElementById(groupMembers[i]).style.display = 'none';
document.getElementById(groupMembers[i] + '_disabled').style.display = 'inline';
}
}
}
else
{
for ( var i = 0; i < groupMembers.length; i ++ )
{
if ( document.getElementById(groupMembers[i]).checked )
{
document.getElementById(groupMembers[i]).style.display = 'inline';
document.getElementById(groupMembers[i] + '_disabled').style.display = 'none';
}
}
}
//alert ( 'art_id: ' + art_id + "\n" + 'var_nr: ' + var_nr + "\n" + 'form: ' + form + "\n" + 'che: ' + che + "\n" + 'Gruppe: ' + group );
}
}
/* External Function */
function trim ( str )
{
str = str.replace ( /^\s+/, '' );
for ( var i = str.length - 1; i >= 0; i-- )
{
if ( /\S/.test ( str.charAt ( i ) ) )
{
str = str.substring ( 0, i + 1 );
break;
}
}
return str;
}
/* ENDOF External Function */
// Beim Klick auf eine Checkbox wird geprüft ob ein anderer Artikel mit diesem gekoppelt ist.
// Ist dies der Fall so wird dieser ggf. ebenfalls angewählt.
function click_gekoppelte ( art_id, var_nr, form, name )
{
che = 0;
for ( i = 0; i < document.forms[ form ].elements.length; i ++ )
{
if ( document.forms[ form ].elements[ i ].type == 'hidden' )
{
continue;
}
if ( document.forms[ form ].elements[ i ].type == 'select-one' )
{
continue;
}
che ++;
if ( document.forms[ form ].elements[ i ].name == name )
{
pflichtgruppe_click ( art_id, var_nr, che );
ausschlussliste_click ( art_id, var_nr, che, form );
if ( document.forms[ form ].elements[ i ].checked === true )
{
if ( za_kop [ art_id ] [ var_nr - 1 ] [ che ] !== '' )
{
//Sind KoppelArtikel definiert, so wird der String hier nach ';' gesplittet, getrimmt, und für jeden Artikel ein Klick ausgeführt.
tempArtikelnummern = za_kop [ art_id ] [ var_nr - 1 ] [ che ].split ( ';' );
for ( var j = 0; j < tempArtikelnummern.length; j ++ )
{
tempArtikelnummern [ j ] = trim ( tempArtikelnummern [ j ] );
clickElement ( art_id, var_nr, form, tempArtikelnummern [ j ] );
//alt: clickElement ( art_id, var_nr, form, za_kop [ art_id ] [ var_nr - 1 ] [ che ] );
}
}
}
break;
}
}
preis_anzeigen2(art_id,var_nr,form,false);
}
// Funktion die MouseEreignisse speichert
//    ISt im body-tag unter onmousemove eingebunden
function handleOnMouseMove ( e )
{
if ( !e )
{
e = window.event;
}
if ( e )
{
mouseEvent1 = {
clientX : e.clientX,
clientY : e.clientY
};
}
}
// Liefert die Position des Iframes in dem der Konfigurator angezeigt wird ( nur falls showinline=ja )
function getIFrameCoords ( )
{
if ( konfiguratorIsDisplayedAsIFrame )
{
}
}
// Liefert die Maus Position eines gespeicherten MouseErgeinisses zurück
function getPosition ( )
{
cursor = {x : 0,y : 0};
cursor.x = mouseEvent1.clientX;
cursor.y = mouseEvent1.clientY;
return cursor;
}
// Liefert Fensterdimensionen zurück (MSIE,FF,NETSCAPE,(OPERA nur bedingt))
function getDimensions(inline)
{
var screen = {
x : 0,
y : 0
};
if ( inline )
{
myWindowElement = parent.window;
myDocumentElement = parent.document;
}
else
{
myWindowElement = window;
myDocumentElement = document;
}
if (navigator.userAgent.indexOf('MSIE') != -1)
{
if (myDocumentElement.documentElement && myDocumentElement.documentElement.clientWidth)
{
screen.x = myDocumentElement.documentElement.clientWidth;
screen.y = myDocumentElement.documentElement.clientHeight;
}
else
{
screen.x = myDocumentElement.body.clientWidth;
screen.y = myDocumentElement.body.clientHeight;
}
}
else
{
if ( navigator.userAgent.indexOf ( 'Firefox' ) != -1 || navigator.userAgent.indexOf ( 'Netscape' ) != -1 || navigator.userAgent.indexOf ( 'Opera' ) != -1 )
{
screen.x = myWindowElement.innerWidth;
screen.y = myWindowElement.innerHeight;
}
else
{
screen.x = myWindowElement.innerWidth;
screen.y = myWindowElement.innerHeight;
}
}
return screen;
}
// Liefert die Position an der die Seite momentan im Fenster steht zurück (MSIE,FF,NETSCAPE,(OPERA nur bedingt))
function getPagePosition ( inline )
{
var page = {
x : 0,
y : 0
};
if ( inline )
{
myWindowElement = parent.window;
myDocumentElement = parent.document;
}
else
{
myWindowElement = window;
myDocumentElement = document;
}
if ( navigator.userAgent.indexOf ( 'MSIE' ) != -1 )
{
if ( myDocumentElement.documentElement && myDocumentElement.documentElement.scrollLeft )
{
page.x = myDocumentElement.documentElement.scrollLeft;
page.y = myDocumentElement.documentElement.scrollTop;
}
else
{
page.x = myDocumentElement.body.scrollLeft;
page.y = myDocumentElement.body.scrollTop;
}
}
else
{
if ( navigator.userAgent.indexOf ( 'Firefox' ) != -1 || navigator.userAgent.indexOf ( 'Netscape' ) != -1 || navigator.userAgent.indexOf ( 'Opera' ) != -1 )
{
page.x = myWindowElement.pageXOffset;
page.y = myWindowElement.pageYOffset;
}
}
return page;
}
// Liefert zurück ob das Fenster links,rechts,über oder unter dem Mauszeiger geöffnet werden soll
function getOpenPosition ( scr, cursor, page, fadein_dim )
{
var openhoriz;
var openvert;
if ( ( parseInt ( fadein_dim.x, 10 ) + parseInt ( cursor.x, 10 ) ) >= ( parseInt ( scr.x, 10 ) - 15 ) )
{
if ( parseInt ( fadein_dim.x, 10 ) >= parseInt ( cursor.x, 10 ) )
{
if ((parseInt(cursor.x,10) - Math.round(parseInt(fadein_dim.x,10) / 2)) < 0 || (parseInt(cursor.x,10) + Math.round(parseInt(fadein_dim.x,10) / 2)) >= parseInt(scr.y,10))
{
openhoriz = '1';
}
else
{
openhoriz = 'middle';
}
}
else
{
openhoriz = 'left';
}
}
else
{
openhoriz = 'right';
}
if ((parseInt(fadein_dim.y,10) + parseInt(cursor.y,10)) >= (parseInt(scr.y,10) - 15))
{
if (parseInt(fadein_dim.y,10) >= parseInt(cursor.y,10))
{
if ((parseInt(cursor.y,10) - Math.round(parseInt(fadein_dim.y,10) / 2)) < 0 || (parseInt(cursor.y,10) + Math.round(parseInt(fadein_dim.y,10) / 2)) >= parseInt(scr.y,10))
{
openvert = '1';
}
else
{
openvert = 'middle';
}
}
else
{
openvert = 'top';
}
}
else
{
openvert = 'bottom';
}
if (openhoriz == '1' || openhoriz == 'middle')
{
if (openvert == '1' || openvert == 'middle')
{
openvert = 'bottom';
openhoriz = 'right';
}
}
var open = {h:openhoriz,v:openvert};
return open;
}
// Liefert die Position zurück and er das Fenster geöffnet werden soll.
function getOpenPosition2(cursor,oeffne,page,fadein_dim)
{
var openpos = {x:0,y:0};
if (oeffne.h == 'middle')
{
openpos.x = parseInt((parseInt(cursor.x,10) - Math.round(parseInt(fadein_dim.x,10) / parseInt(2,10))) + partseInt(page.x,10),10);
}
else
{
if (oeffne.h == 'left')
{
openpos.x = parseInt((parseInt(cursor.x,10) - (parseInt(fadein_dim.x,10) + parseInt(15,10))) + parseInt(page.x,10),10);
}
else
{
if (oeffne.h == 'right')
{
openpos.x = parseInt((parseInt(cursor.x,10) + parseInt(15,10)) + parseInt(page.x,10),10);
}
else
{
if (oeffne.h == '1')
{
openpos.x = parseInt(parseInt(page.x,10) + parseInt(3,10),10);
}
else
{
openpos.x = parseInt(1,10);
}
}
}
}
if (oeffne.v == 'middle')
{
openpos.y = parseInt((parseInt(cursor.y,10) - Math.round(parseInt(fadein_dim.y,10) / parseInt(2,10))) + parseInt(page.y,10),10);
}
else
{
if (oeffne.v == 'top')
{
openpos.y = parseInt((parseInt(cursor.y,10) - (parseInt(fadein_dim.y,10) + parseInt(15,10))) + parseInt(page.y,10),10);
}
else
{
if (oeffne.v == 'bottom')
{
openpos.y = parseInt((parseInt(cursor.y,10) + parseInt(15,10)) + parseInt(page.y,10),10);
}
else
{
if (oeffne.v == '1')
{
openpos.y = parseInt(page.y,10);
}
else
{
openpos.y = parseInt(1,10);
}
}
}
}
return openpos;
}
function getElementOffset ( theName )
{
theElement = parent.document.getElementsByName ( theName )[0];
var selectedPosX = 0;
var selectedPosY = 0;
while ( theElement != null )
{
selectedPosX += theElement.offsetLeft;
selectedPosY += theElement.offsetTop;
theElement = theElement.offsetParent;
}
return {x:selectedPosX,y:selectedPosY};
}
// setzt alle nötigen Variablen um das Fenster zu öffnen
function fadeIn(text,text2,sofort,breite,zeilen,isSelect,anz_preis,gruppenid,nr,vnr,sel,znr,nr2,vnr2,sel2,znr2)
{
if ( typeof konfiguratorIsDisplayedAsIFrame != 'undefined' && konfiguratorIsDisplayedAsIFrame )
{
//Konfigurator wird in einem IFrame dargestestellt.
//Prüfen ob IFrame für die i's in dem darüberliegenden Frame bereits vorhanden ist, sonst erstellen.
if ( !parent.document.getElementById('fade_in_div') )
{
createIframe ( );
}
fadeInDiv = parent.document.getElementById('fade_in_div');
fadeInDivDetaildummy = parent.window.fade_in_div.document.all.detaildummy;
fadeInDivString = 'parent.document.getElementById("fade_in_div")';
fadeInDivDocument = parent.window.fade_in_div.document;
fadeInDivDocumentString = 'parent.window.fade_in_div.document';
}
else
{
fadeInDiv = document.getElementById('fade_in_div');
fadeInDivDetaildummy = window.fade_in_div.document.all.detaildummy;
fadeInDivString = 'document.getElementById("fade_in_div")';
fadeInDivDocument = window.fade_in_div.document;
fadeInDivDocumentString = 'window.fade_in_div.document';
}
onmouseover_i = true;
// andere Inhalte ausblenden
if (fadeInDivDocument.getElementById(detail_active))
{
fadeInDivDocument.getElementById(detail_active).style.display = 'none';
}
eval_code_temp = '';
extrazeilen = zeilen;
select_breite = breite;
showFadeIn = true;
fadein_dims = {x:fadein.x,y:fadein.y};
fadeInDiv.style.width = fadein.x;
if (!isSelect)
{
fadeInDiv.style.height = fadein.y;
}
// Preise in i's berechnen (Software Tabellen)
preis_anzeigen3(parseInt(nr,10),parseInt(vnr,10),('form_' + nr + '_' + vnr).toString(),false,parseInt(nr2,10),parseInt(vnr2,10));
setFadeIn = false;
newone = false;
if (!fadeInDivDocument.all['detail_' + nr2 + '_' + vnr2 + '_' + sel2])
{
// Info wurde noch nicht geladen.
document.getElementById('body_main').style.cursor = 'wait';
newone = true;
window.transfer.location.href = text; // Transer-Iframe lädt den Inhalt.
}
else
{
// Info wurde bereits geladen.
document.getElementById('body_main').style.cursor = 'default';
fadeInDivDocument.getElementById('detail_' + nr2 + '_' + vnr2 + '_' + sel2).style.display = 'inline'; // Es wird nur umgeblendet.
detail_active = 'detail_' + nr2 + '_' + vnr2 + '_' + sel2;
setFadeIn = true;
}
if (setFadeIn)
{
newone = false;
setFadeInVisible(-1,-1,nr2,vnr2,sel2);
}
}
function createIframe ( )
{
var iframe;
if ( parent.document.createElement && (iframe = parent.document.createElement('iframe')))
{
iframe.name = 'fade_in_div';
iframe.id = 'fade_in_div';
iframe.src = '/konfigurator/details.html';
iframe.style.display = 'none';
iframe.style.position = 'absolute';
parent.document.body.appendChild(iframe);
}
}
// Blendet das Fenster ein
// Diese Funktion wird beim entweder von der Funktion fadeIn
// oder von dem Script das den Inhlat generiert aufgerufen.
function setFadeInVisible(zeilen,breite,nr2,vnr2,sel2)
{
if (onmouseover_i)
{
if ( typeof konfiguratorIsDisplayedAsIFrame != 'undefined' && konfiguratorIsDisplayedAsIFrame )
{
//Konfigurator wird in einem IFrame dargestestellt.
//Prüfen ob IFrame für die i's in dem darüberliegenden Frame bereits vorhanden ist, sonst erstellen.
if ( !parent.document.getElementById('fade_in_div') )
{
createIframe ( );
}
fadeInDiv = parent.document.getElementById('fade_in_div');
fadeInDivDetaildummy = parent.window.fade_in_div.document.all.detaildummy;
fadeInDivString = 'parent.document.getElementById("fade_in_div")';
fadeInDivDocument = parent.window.fade_in_div.document;
fadeInDivDocumentString = 'parent.window.fade_in_div.document';
inline = true;
}
else
{
fadeInDiv = document.getElementById('fade_in_div');
fadeInDivDetaildummy = window.fade_in_div.document.all.detaildummy;
fadeInDivString = 'document.getElementById("fade_in_div")';
fadeInDivDocument = window.fade_in_div.document;
fadeInDivDocumentString = 'window.fade_in_div.document';
inline = false;
}
if (newone)
{
// den Inhalt an die richtige Stellen kopieren und einbelnnden.
if (fadeInDivDetaildummy)
{
fadeInDivDetaildummy.innerHTML = fadeInDivDetaildummy.innerHTML + window.transfer.document.all.transferdiv.innerHTML;
}
eval_code += eval_code_temp;
detail_active = 'detail_' + nr2 + '_' + vnr2 + '_' + sel2;
newone = false;
if (sel2.indexOf('s') !== -1)
{
eval(eval_code);
}
}
if (sel2.indexOf('s') !== -1)
{
eval(eval_code);
}
if (showFadeIn)
{
if (select_breite !== 0)
{
fadeInDiv.style.width = select_breite + 'px';
fadein_dims.x = select_breite;
}
else
{
if (breite == -1)
{
eval(fadeInDivString + '.style.width = breite_' + nr2 + '_' + vnr2 + '_' + sel2 + ' + "px";');
eval('fadein_dims.x = breite_' + nr2 + '_' + vnr2 + '_' + sel2 + ';');
}
else
{
fadeInDiv.style.width = breite + 'px';
fadein_dims.x = breite;
}
}
if (zeilen !== 0)
{
if (zeilen == -1)
{
eval('temp = zeilen_' + nr2 + '_' + vnr2 + '_' + sel2 + ';');
if (temp !== 0)
{
if ( temp == -2 )
{
//alert ( extrazeilen );
fadeInDiv.style.height = parseInt(extrazeilen,10) + 'px';
fadein_dims.y = parseInt(extrazeilen,10);
}
else
{
fadeInDiv.style.height = ((parseInt(temp,10) + parseInt(extrazeilen,10)) * 15) + 'px';
fadein_dims.y = ((parseInt(temp,10) + parseInt(extrazeilen,10)) * 15);
}
}
}
else
{
if ( zeilen == -2 )
{
//alert ( extrazeilen );
fadeInDiv.style.height = parseInt(extrazeilen,10) + 'px';
fadein_dims.y = parseInt(extrazeilen,10);
}
else
{
fadeInDiv.style.height = ((parseInt(zeilen,10) + parseInt(extrazeilen,10)) * 15) + 'px';
fadein_dims.y = ((parseInt(zeilen,10) + parseInt(extrazeilen,10)) * 15);
}
}
}
// berechnen wo das Fenster geöffnet wird.
//this.name - Name of IFrame
cursor = getPosition(); // Cursor position
scr = getDimensions(inline); // Bildschirm Dimensionen
pagePosition = getPagePosition(inline); // Stelle an die das Dokument gescrollt ist
if ( inline )
{
//Position des IFrames bestimmen.
iframeOffset = getElementOffset ( this.name );
//Cursor Position wird gemessen ab dem Nullpunkt des IFrames => Position des Nullpunktes addieren.
cursor.x = cursor.x + iframeOffset.x;
cursor.y = cursor.y + iframeOffset.y;
pagePositionAlt = pagePosition;
pagePosition = {x:0,y:0};
}
oeffne = getOpenPosition(scr,cursor,pagePosition,fadein_dims); // Links rechts über unter Mauszeiger öffnen
if ( inline )
{
if ( oeffne.h == '1' )
{
pagePosition.x = pagePositionAlt.x;
}
if ( oeffne.v == '1' )
{
pagePosition.y = pagePositionAlt.y;
}
}
openPosition = getOpenPosition2(cursor,oeffne,pagePosition,fadein_dims); // die geneue Position der oberen linken Ecke bestimmen
fadeInDiv.style.top = openPosition.y + 'px';
fadeInDiv.style.left = openPosition.x + 'px';
fadeInDiv.style.display = 'inline';
}
else
{
fadeInDiv.style.display = 'none';
}
document.getElementById('body_main').style.cursor = 'default';
}
}
// Blendet das Fenster wieder aus
function fadeOut()
{
if ( typeof konfiguratorIsDisplayedAsIFrame != 'undefined' && konfiguratorIsDisplayedAsIFrame )
{
//Konfigurator wird in einem IFrame dargestestellt.
//Prüfen ob IFrame für die i's in dem darüberliegenden Frame bereits vorhanden ist, sonst erstellen.
if ( !parent.document.getElementById('fade_in_div') )
{
createIframe ( );
}
fadeInDiv = parent.document.getElementById('fade_in_div');
fadeInDivDocument = parent.window.fade_in_div.document;
fadeInDivString = 'parent.document.getElementById("fade_in_div")';
fadeInDivDetaildummy = parent.window.fade_in_div.document.all.detaildummy;
fadeInDivDocumentString = 'parent.window.fade_in_div.document';
}
else
{
fadeInDiv = document.getElementById('fade_in_div');
fadeInDivDocument = window.fade_in_div.document;
fadeInDivString = 'document.getElementById("fade_in_div")';
fadeInDivDetaildummy = window.fade_in_div.document.all.detaildummy;
fadeInDivDocumentString = 'window.fade_in_div.document';
}
showFadeIn = false;
if (fadeInDivDocument.getElementById(detail_active))
{
fadeInDivDocument.getElementById(detail_active).style.display = 'none';
}
fadeInDiv.style.display = 'none';
document.getElementById('body_main').style.cursor = 'default';
}
// Setzt den linken Seitenabstand der umschliessenden Div's
// Ist im Body Tag mit onresize eingebunden.
function setDivEinzug(anz,bereich)
{
anz_angebote = anz;
scre = getDimensions(false);
if (navigator.userAgent.indexOf('MSIE') != -1)
{
einzug_plus = 13;
}
else
{
einzug_plus = 4;
if ((typeof konfiguratorIsDisplayedAsIFrame != "undefined") && (konfiguratorIsDisplayedAsIFrame))
einzug_plus += 9;
}
einzug = Math.round((scre.x - 760) / 2);
for (i = 1; i <= anz; i++)
{
document.getElementById('artikel_div_' + i).style.left = einzug + einzug_plus;
if (bereich == 'angebote')
{
document.getElementById('rand_oben_' + i + '_1').style.left = einzug + einzug_plus + 208;
document.getElementById('rand_oben_' + i + '_2').style.left = einzug + einzug_plus + 475;
document.getElementById('Zusatzartikel_heading_' + i).style.left = einzug + einzug_plus + 208;
}
}
}
// Funktion die das Ziel des Formulars bei Klick auf den Leasinganfrage-Button ändert.
function leasinganfrage_click ( formular, sprache, j, nr, vnr )
{
if ( window.location.href.indexOf ( 'printsolution.de' ) > 0 )
{
temp_leasing_ziel = 'https://www.eurosystems.lu/leasing/anfrage.dml';
}
else
{
temp_leasing_ziel = pathTest + "../leasing/anfrage.dml:SSL";
}
var preis = ang_gpr [ nr ] [ vnr - 1 ];
var produkt = ang_all [ nr ] [ vnr - 1 ];
change_action ( formular, temp_leasing_ziel + "?sprache=" + sprache + "&j=" + j + "&seite=mehr&produkt1=" + produkt + "&preis1=" + preis );
document.getElementById ( formular ).getAttributeNode ( "target" ).value = "_top";
document.getElementById ( formular ).getAttributeNode ( "target" ).nodeValue = "_top";
document.forms [ formular ].submit ( );
}
// Funktion die das Ziel eines Formulars ändert.
function change_action(formular,ziel)
{
changeCursor('wait','body_main');
if (ziel.indexOf('warenkorb.dml') > -1)
{
window.status = res.status_in_wk;
}
document.getElementById(formular).getAttributeNode("action").value = ziel;
document.getElementById(formular).getAttributeNode("action").nodeValue = ziel;
document.getElementById(formular).getAttributeNode("target").value = 'unten';
document.getElementById(formular).getAttributeNode("target").nodeValue = 'unten';
}
// Funktion die das Ziel eines Formulars ändert und es in ein neues Fenster öffnet.
function changeActionOpenWindow(formular,ziel,submit,telefonAction)
{
if (ziel.indexOf('warenkorb.dml') > -1)
{
changeCursor('wait','body_main');
window.status = res.status_in_wk;
}
document.getElementById(formular).getAttributeNode("action").value = ziel;
document.getElementById(formular).getAttributeNode("action").nodeValue = ziel;
if ( telefonAction == "angebot" )
{
F = window.open('about:blank','ANFRAGE_FENSTER','height=600, width=800, menubar=no, resizable=no, scrollbars=yes, status=no, toolbar=no');
}
else if ( telefonAction == "termin" )
{
F = window.open('about:blank','ANFRAGE_FENSTER','height=600, width=360, menubar=no, resizable=no, scrollbars=yes, status=no, toolbar=no');
}
else if ( telefonAction == "rueckruf" )
{
F = window.open('about:blank','ANFRAGE_FENSTER','height=500, width=360, menubar=no, resizable=no, scrollbars=yes, status=no, toolbar=no');
}
else
{
F = window.open('about:blank','ANFRAGE_FENSTER','height=350, width=350, menubar=no, resizable=no, scrollbars=yes, status=no, toolbar=no');
}
document.getElementById(formular).getAttributeNode("target").value = "ANFRAGE_FENSTER";
document.getElementById(formular).getAttributeNode("target").nodeValue = "ANFRAGE_FENSTER";
document.getElementById(formular + '_kon2action').value = telefonAction;
if ( submit ) document.getElementById(formular).submit();
}
// Funktion die das Ziel des Formulars bei Klick auf den Preisanfrage-Button ändert.
function preisanfrage_click(formular)
{
change_action(formular,pathTest + "../auftrag/" + pathTestWK + "Preisanfrage.dml");
document.getElementById(formular).getAttributeNode("target").value = '';
document.getElementById(formular).getAttributeNode("target").nodeValue = '';
document.forms[formular].submit();
}
// Funktion die eine Variante mithilfe des Transfer-Iframes nachlädt.
function ladeVariante1(art_id,var_nr)
{
if ((typeof where_rubrik == 'undefined') || (typeof where_bed == 'undefined'))
{
window.transfer.location.href = 'schreibeVariante.dml?art_id=' + art_id + '&var_nr=' + var_nr + '&art_nr=' + ang_anr[art_id][var_nr-1] + '&link=' + ang_link[art_id][var_nr-1] + '&bild=' + ang_bild[art_id][var_nr-1] + '&preis1=' + ang_preis1[art_id][var_nr-1] + '&rcspreis=' + ang_rcspreis[art_id][var_nr-1] + '&rabatt=' + ang_rabatt[art_id][var_nr-1] + '&prov=' + ang_prov[art_id][var_nr-1] + '&bis=' + ang_bis[art_id][var_nr-1] + '&rw=' + ang_rw[art_id][var_nr-1] + '&haupt_anr=' + ang_anr[art_id][0] + '&bereich=' + bereich + '&zpr=' + ang_zpr[art_id][var_nr-1] + '&sprache=' + sprache + '&j=' + j;
}
else
{
window.transfer.location.href = 'schreibeVariante.dml?art_id=' + art_id + '&var_nr=' + var_nr + '&art_nr=' + ang_anr[art_id][var_nr-1] + '&link=' + ang_link[art_id][var_nr-1] + '&bild=' + ang_bild[art_id][var_nr-1] + '&preis1=' + ang_preis1[art_id][var_nr-1] + '&rcspreis=' + ang_rcspreis[art_id][var_nr-1] + '&rabatt=' + ang_rabatt[art_id][var_nr-1] + '&prov=' + ang_prov[art_id][var_nr-1] + '&bis=' + ang_bis[art_id][var_nr-1] + '&rw=' + ang_rw[art_id][var_nr-1] + '&haupt_anr=' + ang_anr[art_id][0] + '&bereich=' + bereich + '&zpr=' + ang_zpr[art_id][var_nr-1] + '&where_rubrik=' + where_rubrik + '&where_bed=' + where_bed + '&sprache=' + sprache + '&j=' + j;
}
}
// Funktion die die geladenen Variante aus dem IFrame aufruft (bestätigung das fertig geladen wurde.)
function ladeVariante2(art_id,var_nr)
{
document.all['artikel_' + art_id + '_variante_' + var_nr].innerHTML = window.transfer.document.all.transferdiv.innerHTML;
ang_load[art_id][var_nr-1] = true;
document.getElementById('body_main').style.cursor = 'default';
ausschlussliste_click ( art_id, var_nr, -1, 'form_' + art_id + '_' + var_nr )
variante_click(art_id,var_nr);
}
//Funktion die das Sparvorteil IFrame mit Inhalten füllt und dieses dann einblendet.
// Hat die gleiche Struktur wie konfigurator_functions::Preis_anzeigen2
function showSparvorteilIFrame(art_id,var_nr,form)
{
var gutschrift_checkbox = false;
var hoehe_gutschrift = (ang_gut[art_id][var_nr-1] === '' ? 0 : ang_gut[art_id][var_nr-1]);
var gutschrift_geasamt = false;
var gutschrift_selected = false;
var zeilen = 1;
var sel = 0;
var che = 0;
var sparvorteil = 0;
var preis1 = 0;
var preis1_gesamt = 0;
var geringster_preis = 0;
var geringster_preis_gesamt = 0;
var artikel_text = '';
ausgabe1 = '<table style="border: none 0px #FFFFFF; width:100%; border-collapse: collapse;"><tr><td class="spvleft" style="font-weight:bold; background-color: #F5F5F5;">' + res.artikel + '</td><td class="spvleft" style="font-size: 8pt; font-weight:bold; background-color: #F5F5F5; text-align: right;">' + res.uvp + '<span class="fussnote">1</span></td><td style="text-align: right; font-size: 8pt; font-weight:bold; background-color: #F5F5F5;">' + res.sparvorteil + '</td></tr>';
preis1 = parseFloat(ang_preis1[art_id][var_nr-1]);
grund_preis_hauptartikel = parseFloat(preis_berechnen(ang_preis1[art_id][var_nr-1],ang_rcspreis[art_id][var_nr-1],ang_rabatt[art_id][var_nr-1],"","",""));
listenpreis = parseFloat(ang_lpr[art_id][var_nr-1] === '' ? 0 : ang_lpr[art_id][var_nr-1]);
preis1_gesamt = (listenpreis === 0 ? preis1 : listenpreis);
geringster_preis = parseFloat(preis_berechnen(ang_preis1[art_id][var_nr-1],ang_rcspreis[art_id][var_nr-1],ang_rabatt[art_id][var_nr-1],"",ang_zpr[art_id][var_nr-1],""));
geringster_preis_hauptartikel = geringster_preis;
geringster_preis_gesamt = 0;
artikel_sparvorteil = 0;
hauptartikel_sparvorteil_norm = (listenpreis === 0 ? preis1 : listenpreis) - geringster_preis;
hauptartikel_sparvorteil_guts = (listenpreis === 0 ? preis1 : listenpreis) - grund_preis_hauptartikel;
sparvorteil = 0;
artikel_text = ang_text[art_id][var_nr-1];
preis1 = preis_format((listenpreis === 0 ? preis1 : listenpreis),1,2,0,0);
hauptartikelUVPIsNull = false;
if ( preis1 == '0' )
{
hauptartikelUVPIsNull = true;
}
ausgabe1 += '<tr style="font-weight: bold;"><td class="spvleft">' + artikel_text + '</td><td class="spvright">' + ( hauptartikelUVPIsNull ? '' : preis1 + ' &euro;' ) + '</td><td class="spvright">';
ausgabe2 = '</td></tr>';
zeilen++;
for (i = 0; i< document.forms[form].elements.length; i++)
{
gutschrift = false;
preis1 = 0;
geringster_preis = 0;
artikel_sparvorteil = 0;
artikel_text = '';
if (document.forms[form].elements[i].type == 'hidden')
{
continue;
}
if (document.forms[form].elements[i].type == 'select-one')
{
// Select-Box
sel++;
for (r = 0; r < document.forms[form].elements[i].options.length; r++)
{
preis1 = 0;
geringster_preis = 0;
artikel_sparvorteil = 0;
artikel_text = '';
if (za_txt[art_id][var_nr-1][selectstart[art_id][var_nr-1] + sel - 1][1] === '')
{
j = r + 1;
z = r;
if (za_tx2[art_id][var_nr-1][selectstart[art_id][var_nr-1] + sel - 1][1] == 'ja')
{
gutschrift = true;
gutschrift_gesamt = true;
}
}
else
{
j = r + 1;
z = r + 1;
}
if (document.getElementById('zusatz_select_' + art_id + '_' + var_nr + '_' + sel + '_' + j) === null)
{
continue;
}
if (document.forms[form].elements[i].options[r].selected === true)
{
// Ausgewählt
if (za_txt[art_id][var_nr-1][selectstart[art_id][var_nr-1] + sel - 1][j] === '' && za_tx2[art_id][var_nr-1][selectstart[art_id][var_nr-1] + sel - 1][j] == 'ja')
{
gutschrift_selected = true;
}
preis1 = parseFloat(za_pr1[art_id][var_nr-1][selectstart[art_id][var_nr-1] + sel - 1][r+1]);
listenpreis = parseFloat(za_lpr[art_id][var_nr-1][selectstart[art_id][var_nr-1] + sel - 1][r+1] === '' ? 0 : za_lpr[art_id][var_nr-1][selectstart[art_id][var_nr-1] + sel - 1][r+1]);
preis1 = (listenpreis === 0 ? preis1 : listenpreis);
geringster_preis = parseFloat(preis_berechnen(za_pr1[art_id][var_nr-1][selectstart[art_id][var_nr-1] + sel - 1][r+1],za_rpr[art_id][var_nr-1][selectstart[art_id][var_nr-1] + sel - 1][r+1],za_rab[art_id][var_nr-1][selectstart[art_id][var_nr-1] + sel - 1][r+1],za_apr[art_id][var_nr-1][selectstart[art_id][var_nr-1] + sel - 1][r+1],za_zpr[art_id][var_nr-1][selectstart[art_id][var_nr-1] + sel - 1][r+1], za_kos[art_id][var_nr-1][selectstart[art_id][var_nr-1] + sel - 1][r+1]));
if (geringster_preis === 0 && za_kos[art_id][var_nr-1][selectstart[art_id][var_nr-1] + sel - 1][r+1].toString().toLowerCase() == 'inklusive')
{
preis1 = 0;
listenpreis = 0;
}
preis1_gesamt += preis1;
geringster_preis_gesamt += geringster_preis;
artikel_sparvorteil = preis1 - geringster_preis;
artikel_text = za_txt[art_id][var_nr-1][selectstart[art_id][var_nr-1] + sel - 1][r+1];
sparvorteil += artikel_sparvorteil;
artikel_sparvorteil = preis_format(artikel_sparvorteil,1,2,0,0);
preis1 = preis_format(preis1,1,2,0,0);
if (artikel_text !== '')
{
if (artikel_sparvorteil === '0')
{
artikel_sparvorteil = '';
}
else
{
artikel_sparvorteil = artikel_sparvorteil + ' &euro;';
}
ausgabe2 += '<tr><td class="spvleft">' + artikel_text + '</td><td class="spvright">' + preis1 + ' &euro;</td><td class="spvright">' + artikel_sparvorteil + '</td></tr>';
zeilen++;
}
}
}
}
else
{
che++;
if (document.forms[form].elements[i].checked === true)
{
// Checkbox
if (za_anr[art_id][var_nr-1][che].toLowerCase() == 'warengut')
{
gutschrift = true;
gutschrift_selected = true;
gutschrift_wert = ang_gut[art_id][var_nr-1];
gutschrift_checkbox = true;
}
listenpreis = parseFloat((za_lpr[art_id][var_nr-1][che] != '' ? za_lpr[art_id][var_nr-1][che] : 0));
preis1 = parseFloat(za_pr1[art_id][var_nr-1][che]);
preis1 = (listenpreis > 0 ? listenpreis : preis1);
geringster_preis = parseFloat(preis_berechnen(za_pr1[art_id][var_nr-1][che],za_rpr[art_id][var_nr-1][che],za_rab[art_id][var_nr-1][che],za_apr[art_id][var_nr-1][che],za_zpr[art_id][var_nr-1][che], za_kos[art_id][var_nr-1][che]));
if (geringster_preis === 0 && za_kos[art_id][var_nr-1][che].toString().toLowerCase() == 'inklusive')
{
preis1 = 0;
listenpreis = 0;
}
preis1_gesamt += preis1;
geringster_preis_gesamt += geringster_preis;
artikel_sparvorteil = preis1 - geringster_preis;
artikel_text = za_txt[art_id][var_nr-1][che];
sparvorteil += artikel_sparvorteil;
preis1_anzeige = preis_format(preis1,1,2,0,0);
artikel_sparvorteil = preis_format(artikel_sparvorteil,1,2,0,0);
if (artikel_text !== '' && preis1 !== 0)
{
if (artikel_sparvorteil === '0')
{
artikel_sparvorteil = '';
}
else
{
artikel_sparvorteil = artikel_sparvorteil + ' &euro;';
}
ausgabe2 += '<tr><td class="spvleft">' + artikel_text + '</td><td class="spvright">' + preis1_anzeige + ' &euro;</td><td class="spvright">' + artikel_sparvorteil + '</td></tr>';
zeilen++;
}
}
}
}
verbrauchte_gutschrift = 0;
preis1_gesamt = preis_format(preis1_gesamt,1,2,0,0);
if (gutschrift_selected)
{
geringster_preis_gesamt = geringster_preis_gesamt - hoehe_gutschrift;
if (geringster_preis_gesamt > 0)
{
verbrauchte_gutschrift = hoehe_gutschrift;
}
else
{
verbrauchte_gutschrift = hoehe_gutschrift + geringster_preis_gesamt;
}
geringster_preis_gesamt = (geringster_preis_gesamt < 0 ? 0 : geringster_preis_gesamt);
if (!gutschrift_checkbox)
{
hauptartikel_sparvorteil = hauptartikel_sparvorteil_guts;
geringster_preis_gesamt += grund_preis_hauptartikel;
}
else
{
hauptartikel_sparvorteil = hauptartikel_sparvorteil_norm;
geringster_preis_gesamt += geringster_preis_hauptartikel;
}
}
else
{
hauptartikel_sparvorteil = hauptartikel_sparvorteil_norm;
geringster_preis_gesamt += geringster_preis_hauptartikel;
}
if (verbrauchte_gutschrift > 0)
{
ausgabe2 += '<tr><td class="spvleft">' + res.wg.eingeloest + '</td><td class="spvright">&nbsp;</td><td class="spvright">' + verbrauchte_gutschrift + ' &euro;</td></tr>';
zeilen++;
}
sparvorteil += verbrauchte_gutschrift;
sparvorteil += hauptartikel_sparvorteil;
sparvorteil = preis_format(sparvorteil,1,2,0,0);
geringster_preis_gesamt = preis_format(geringster_preis_gesamt,1,2,0,0);
ausgabe2 += '<tr style="font-weight: bold;"><td class="spvleft" style="border-top: 1px solid #CCCCCC;">' + res.summe + '</td><td class="spvright" style="border-top: 1px solid #CCCCCC; border-bottom: medium double #000000;">' + preis1_gesamt + ' &euro;</td><td class="spvright" style="border-top: 1px solid #CCCCCC; background-color: #F5F5F5; border-bottom: medium double #000000;">' + sparvorteil + ' &euro;</td></tr>';
zeilen++;
ausgabe2 += '<tr style="font-weight: bold;"><td class="spvleft" style="background-color: #F5F5F5;">' + res.unser_preis + ' <span style="font-weight: normal">' + res.zzgl_mwst + '</span></td><td class="spvright" style="font-weight:bold; background-color: #F5F5F5; color: red;">' + geringster_preis_gesamt + ' &euro;</td><td style="background-color: #F5F5F5;">&nbsp;</td></tr>';
zeilen++;
if (verbrauchte_gutschrift < hoehe_gutschrift && gutschrift_selected)
{
ausgabe2 += '<tr><td style="text-align:left; font-size: 7pt;">' + res.wg.nicht_eingeloest + (hoehe_gutschrift - verbrauchte_gutschrift) + ' &euro;</td><td colspan="2">&nbsp;</td></tr>';
zeilen++;
}
ausgabe2 += '</table>';
hauptartikel_sparvorteil = preis_format(hauptartikel_sparvorteil,1,2,0,0);
ausgabe2 += '<span class="fussnote_unten">1) ' + res.foot_uvp;
zeilen++;
window.sparvorteiliframe.document.getElementById('sparvorteilbody').innerHTML = ausgabe1 + ( hauptartikelUVPIsNull ? '' : hauptartikel_sparvorteil + ' &euro;' ) + ausgabe2;
document.getElementById('sparvorteiliframe').style.height = (parseInt(zeilen,10) * 16) + 10;
sparvorteil_dims = {x : 350, y : ((parseInt(zeilen,10) * 16) + 10)};
// Berechnung wo das Fenster geöffnet werden soll (s. setFadeInVisible())
cursor = getPosition();
scr = getDimensions(false);
pagePosition = getPagePosition(false);
oeffne = getOpenPosition(scr,cursor,pagePosition,sparvorteil_dims);
openPosition = getOpenPosition2(cursor,oeffne,pagePosition,sparvorteil_dims);
document.getElementById('sparvorteiliframe').style.width = sparvorteil_dims.x;
document.getElementById('sparvorteiliframe').style.top = openPosition.y;
document.getElementById('sparvorteiliframe').style.left = openPosition.x;
document.getElementById('sparvorteiliframe').style.display = 'inline';
}
// Blendet das IFrame mit dem Sparvorteil wieder aus.
function hideSparvorteilIFrame()
{
document.getElementById('sparvorteiliframe').style.display = 'none';
}
//Ändert den Mauszeiger
function changeCursor(cursor,id)
{
document.getElementById(id).style.cursor = cursor;
}
//Blendet das Fenster mit den Erläuterungen zur nicht eingelösten Warengutschrift ein
//Hat die gleiche Struktur wie konfigurator_functions::preis_anzeigen2
function showWarengutschriftIFrame(art_id,var_nr,form,uebrig)
{
hoehe_gutschrift = parseFloat(ang_gut[art_id][var_nr-1]);
if (uebrig > 0)
{
if (uebrig < hoehe_gutschrift)
{
ausgabe = '<table style="width: 100%; border-collapse: collapse;"><tr><td colspan="2" class="spvleft">' + res.wg.anrechnen + ' </td></tr>';
zeilen=1;
sel = 0;
che = 0;
for (i = 0; i< document.forms[form].elements.length; i++)
{
if (document.forms[form].elements[i].type == 'hidden')
{
continue;
}
if (document.forms[form].elements[i].type == 'select-one')
{
// Select Box
sel++;
for (r = 0; r < document.forms[form].elements[i].options.length; r++)
{
if (za_txt[art_id][var_nr-1][selectstart[art_id][var_nr-1] + sel - 1][1] === '')
{
j = r + 1;
z = r;
if (za_tx2[art_id][var_nr-1][selectstart[art_id][var_nr-1] + sel - 1][1] == 'ja')
{
break;
}
}
else
{
j = r + 1;
z = r + 1;
}
if (document.getElementById('zusatz_select_' + art_id + '_' + var_nr + '_' + sel + '_' + j) === null)
{
continue;
}
if (document.forms[form].elements[i].options[r].selected === true && za_txt[art_id][var_nr-1][selectstart[art_id][var_nr-1] + sel - 1][r+1] !== '')
{
geringster_preis = parseFloat(preis_berechnen(za_pr1[art_id][var_nr-1][selectstart[art_id][var_nr-1] + sel - 1][r+1],za_rpr[art_id][var_nr-1][selectstart[art_id][var_nr-1] + sel - 1][r+1],za_rab[art_id][var_nr-1][selectstart[art_id][var_nr-1] + sel - 1][r+1],za_apr[art_id][var_nr-1][selectstart[art_id][var_nr-1] + sel - 1][r+1],za_zpr[art_id][var_nr-1][selectstart[art_id][var_nr-1] + sel - 1][r+1], za_kos[art_id][var_nr-1][selectstart[art_id][var_nr-1] + sel - 1][r+1]));
ausgabe += '<td class="spvleft">' + za_txt[art_id][var_nr-1][selectstart[art_id][var_nr-1] + sel - 1][r+1] + '</td><td class="spvright">' + geringster_preis + ' &euro;</td></tr>';
zeilen++;
hoehe_gutschrift -= geringster_preis;
}
}
}
else
{
// Checkbox
che++;
if (document.forms[form].elements[i].checked === true && za_txt[art_id][var_nr-1][che] != "" && za_kos[art_id][var_nr-1][che] != 'inklusive')
{
geringster_preis = parseFloat(preis_berechnen(za_pr1[art_id][var_nr-1][che],za_rpr[art_id][var_nr-1][che],za_rab[art_id][var_nr-1][che],za_apr[art_id][var_nr-1][che],za_zpr[art_id][var_nr-1][che], za_kos[art_id][var_nr-1][che]));
ausgabe += '<td class="spvleft">' + za_txt[art_id][var_nr-1][che] + '</td><td class="spvright">' + geringster_preis + ' &euro;</td></tr>';
zeilen++;
hoehe_gutschrift -= geringster_preis;
}
}
}
ausgabe += '<tr style="font-weight: bold;"><td style="border-top: 1px solid #CCCCCC; border-bottom: 1px solid #CCCCCC; background-color: #F5F5F5;" class="spvleft">' + res.wg.nicht_eingeloest + ' </td><td style="border-top: 1px solid #CCCCCC; border-bottom: 1px solid #CCCCCC; background-color: #F5F5F5;" class="spvright">' + hoehe_gutschrift + ' &euro;</td></tr>';
ausgabe += '<tr><td colspan="2" style="text-align: left; font-size: 7pt;">' + res.wg.os_einloesen + '<br /><span style="color: red;">' + res.wg.verfaellt + '</span></td></tr>';
ausgabe += '</table>';
zeilen += 4;
}
else
{
ausgabe = '<table style="width: 100%;"><tr><td class="spvleft">' + res.wg.os_einloesen2 + '<br /><span style="color: red;">' + res.wg.verfaellt + '</span></td></tr>';
zeilen = 3;
}
}
else
{
ausgabe = '<table style="width: 100%;"><tr><td class="spvleft">' + res.wg.verbraucht + '</td></tr></table>';
zeilen = 1;
}
window.sparvorteiliframe.document.all.sparvorteilbody.innerHTML = ausgabe;
document.getElementById('sparvorteiliframe').style.height = (parseInt(zeilen,10) * 16) + 10;
sparvorteil_dims = {x : 310, y : ((parseInt(zeilen,10) * 16) + 10)};
// Berechnung wo das Fenster geöffnet werden soll (s. setFadeInVisible())
cursor = getPosition();
scr = getDimensions(false);
pagePosition = getPagePosition(false);
oeffne = getOpenPosition(scr,cursor,pagePosition,sparvorteil_dims);
openPosition = getOpenPosition2(cursor,oeffne,pagePosition,sparvorteil_dims);
document.getElementById('sparvorteiliframe').style.width = sparvorteil_dims.x;
document.getElementById('sparvorteiliframe').style.top = openPosition.y;
document.getElementById('sparvorteiliframe').style.left = openPosition.x;
document.getElementById('sparvorteiliframe').style.display = 'inline';
}
// Blendet das Warengutschrift IFrame wieder aus
function hideWarengutschriftIFrame ()
{
hideSparvorteilIFrame();
}
// Ändert die Quelle der standard-RCS-Buttons.
// Beim mouseover: rot, normal blau.
function changeButton (id,img)
{
document.all[id].src = "/bilder/buttons/" + img;
}

