/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */ /* Globale Variablen */ /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */ // Merke geöffneten Block und dazugehörigen Header var opened = null; var header = null; // Enthält übergegebens Headerobjekt // Objekt kann nicht an After-Request-Funktion übergeben werden var header_objekt = null; // Anzahl Bearbeitungen und aktuelle Bearbeitungs-ID var bearbeitung_counter = 0; var bearbeitung_id = 1; // Flag für Markierung erfolgreicher Dateiupload + Dteiname hochgeladene Datei var file_upload = null; var uploaded_file = null; // Flag Go-To-Bestelluebersicht var go_to_bestelluebersicht = null; /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */ /* Optische Updates: Anpassung Header sowie Fehlermeldungen */ /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */ /* Aktualisiert Header des zuvor geöffneten Blocks nach erfolgreicher/leerer Aktion */ function update_header(obj, block){ // Inhalte der einzelnen Blocks für Header holen var inhalt = null; var no_print = null; var no_lasergravur = null; // Hole Material if (block == 'fp_row_material') { var radio = document.forms.fp_row_material_form; for(var i=0;radio[i];i++) { if(radio[i].checked) { inhalt = document.getElementById('ajax').innerHTML.split('|')[1]; no_print = document.getElementById('ajax').innerHTML.split('|')[2]; no_lasergravur = document.getElementById('ajax').innerHTML.split('|')[3]; } } } // Hole Abmessung if (block == 'fp_row_abmessung'){ daten = document.forms.fp_row_abmessung_form; if (daten.abmessung_hoehe.value && daten.abmessung_breite.value) { inhalt = document.getElementById('ajax').innerHTML.split('|')[1]; } // Entferne Input-Fehlerklasse falls vorhanden daten.abmessung_breite.className = 'text'; daten.abmessung_hoehe.className = 'text'; } // Hole Stueckzahl if (block == 'fp_row_stueckzahl'){ daten = document.forms.fp_row_stueckzahl_form; if (daten.stueckzahl.value && daten.stueckzahl.value >= 1) { inhalt = document.getElementById('ajax').innerHTML.split('|')[1]; } // Entferne Input-Fehlerklasse falls vorhanden daten.stueckzahl.className = 'text'; } // Hole Bearbeitung (gesonderte Regelung!!) if (block.search(/^fp_row_bearbeitung/) != -1){ if (bearbeitung_counter > 0){ // Setze Haken obj.className = obj.className + " fp_row_checked"; } // Setze Block auf Standardübersicht, für unten _auswahl block = 'fp_row_bearbeitung'; } // Hole Beschriftung if (block == 'fp_row_beschriftung'){ var radio = document.forms.fp_row_beschriftung_form; for(var i=0;radio[i];i++) { if(radio[i].checked) { inhalt = document.getElementById('ajax').innerHTML.split('|')[1]; } } // Entferne Input-Fehlerklassen falls vorhanden radio.beschriftung_anzahl_zeichen.className = 'text'; radio.auslegung_farbe.className = ''; } // Hole Lieferzeit if (block == 'fp_row_lieferzeit'){ daten = document.forms.fp_row_lieferzeit_form; if (daten.lieferzeit.value && daten.lieferzeit.value != 'bw') { //inhalt = daten.lieferzeit.value + ' AT'; inhalt = document.getElementById('ajax').innerHTML.split('|')[1]; } } // Hole Datei // Problem ---> Datei woanders holen... if (block == 'fp_row_datei' && file_upload == 'ok'){ inhalt = uploaded_file; } // Hole Anmerkungen if (block == 'fp_row_anmerkungen'){ daten = document.forms.fp_row_anmerkungen_form; if (daten.anmerkungen.value) { // Setze Haken obj.className = obj.className + " fp_row_checked"; } // Entferne Textarea-Fehlerklasse falls vorhanden daten.anmerkungen.className = ''; } // Header anpassen anzeige_auswahl = block + '_auswahl'; document.getElementById(anzeige_auswahl).className = 'fp_row_auswahl'; // Farbe von Fehler nach Klick auf Bestellübersicht zurücksetzen (nur wegen show_bestelluebersicht) document.getElementById(anzeige_auswahl).style.color= '#535353'; // Setze Inhalt in Header if (inhalt) { // Setze Haken obj.className = obj.className + " fp_row_checked"; // Auswahlinhalt einbinden document.getElementById(anzeige_auswahl).innerHTML = inhalt; if ((anzeige_auswahl == 'fp_row_material_auswahl') && (no_print)) { beschriftung_druck_auswahl = 'fp_row_beschriftung_druck'; if (no_print == 1) { if (document.getElementById(beschriftung_druck_auswahl).checked) { beschriftung_anzeige = 'fp_row_beschriftung_auswahl'; document.getElementById(beschriftung_anzeige).innerHTML = ""; document.getElementById(beschriftung_druck_auswahl).checked = false; } document.getElementById(beschriftung_druck_auswahl).disabled = true; } else { document.getElementById(beschriftung_druck_auswahl).disabled = false; } } if ((anzeige_auswahl == 'fp_row_material_auswahl') && (no_lasergravur)) { beschriftung_lasergravur_auswahl = 'fp_row_beschriftung_lasergravur'; if (no_lasergravur == 1) { if (document.getElementById(beschriftung_lasergravur_auswahl).checked) { beschriftung_anzeige = 'fp_row_beschriftung_auswahl'; document.getElementById(beschriftung_anzeige).innerHTML = ""; document.getElementById(beschriftung_lasergravur_auswahl).checked = false; } document.getElementById(beschriftung_lasergravur_auswahl).disabled = true; } else { document.getElementById(beschriftung_lasergravur_auswahl).disabled = false; } } } // Entferne Headerinhalt falls noch vorhanden / nicht benötigt (Bearbeitung+Anmerkungen) else { document.getElementById(anzeige_auswahl).innerHTML = ""; } } /* Gibt Fehler innerhalb eines Blocks auf dazugehörigem Header aus */ function show_error(block) { // Hole Element für Fehlerausgabe if (block.search(/^fp_row_bearbeitung/) != -1) block = 'fp_row_bearbeitung'; anzeige_auswahl = block + '_auswahl'; // Farbe auf Fehler setzen (nur wegen show_bestelluebersicht) document.getElementById(anzeige_auswahl).style.color= '#e2001a'; // 1. Material // Keine Fehlerausgaben // 2. Abmessung // // Return-Codes: // [1] = Abmessung Breite // [2] = Abmessung Hoehe // // 0 = Kein Fehler // 1 = Fehler if (opened == 'fp_row_abmessung') { f = document.forms.fp_row_abmessung_form; // Fehler if (document.getElementById('ajax').innerHTML.split('|')[1] == 1) { f.abmessung_breite.className = 'error'; } // Fehler in anderem Input daher Funktion aufgerufen else { f.abmessung_breite.className = 'text'; } // Fehler if (document.getElementById('ajax').innerHTML.split('|')[2] == 1) { f.abmessung_hoehe.className = 'error'; } // Fehler in anderem Input daher Funktion aufgerufen else { f.abmessung_hoehe.className = 'text'; } } // 3. Stückzahl // // Return-Codes: // [1] = Stückzahl // // 0 = Kein Fehler // 1 = Fehler if (opened == 'fp_row_stueckzahl') { f = document.forms.fp_row_stueckzahl_form; if (document.getElementById('ajax').innerHTML.split('|')[1] == 1){ f.stueckzahl.className = 'error'; } } // // 4. Bearbeitung // // Bohrung // // Return-Codes: // [1] = Anzahl // [2] = Durchmesser // // 0 = Kein Fehler // 1 = Fehler if (opened == 'fp_row_bearbeitung_bohrung') { f = document.forms.fp_row_bearbeitung_bohrung_form; // Fehler if (document.getElementById('ajax').innerHTML.split('|')[1] == 1) { f.bohrung_anzahl.className = 'error'; } // Fehler in anderem Input daher Funktion aufgerufen else { f.bohrung_anzahl.className = 'text'; } // Fehler if (document.getElementById('ajax').innerHTML.split('|')[2] == 1) { f.bohrung_durchmesser.className = 'error'; } // Fehler in anderem Input daher Funktion aufgerufen else { f.bohrung_durchmesser.className = 'text'; } } // Bohrung ohne Gewinde für fertige Schraubenmaße // // Return-Codes: // [1] = Anzahl // [2] = Art // // 0 = Kein Fehler // 1 = Fehler if (opened == 'fp_row_bearbeitung_bohrung_og') { f = document.forms.fp_row_bearbeitung_bohrung_og_form; // Fehler if (document.getElementById('ajax').innerHTML.split('|')[1] == 1) { f.bohrung_og_anzahl.className = 'error'; } // Fehler in anderem Input daher Funktion aufgerufen else { f.bohrung_og_anzahl.className = 'text'; } // Fehler if (document.getElementById('ajax').innerHTML.split('|')[2] == 1) { f.bohrung_og_art.className = 'error'; } // Fehler in anderem Input daher Funktion aufgerufen else { f.bohrung_og_art.className = ''; } } // Bohrung mit Gewinde // // Return-Codes: // [1] = Anzahl // [2] = Art // // 0 = Kein Fehler // 1 = Fehler if (opened == 'fp_row_bearbeitung_bohrung_mg') { f = document.forms.fp_row_bearbeitung_bohrung_mg_form; // Fehler if (document.getElementById('ajax').innerHTML.split('|')[1] == 1) { f.bohrung_mg_anzahl.className = 'error'; } // Fehler in anderem Input daher Funktion aufgerufen else { f.bohrung_mg_anzahl.className = 'text'; } // Fehler if (document.getElementById('ajax').innerHTML.split('|')[2] == 1) { f.bohrung_mg_art.className = 'error'; } // Fehler in anderem Input daher Funktion aufgerufen else { f.bohrung_mg_art.className = ''; } } // Loch // // Return-Codes: // [1] = Anzahl // [2] = Eckradius // [3] = Breite // [4] = Hoehe // // 0 = Kein Fehler // 1 = Fehler if (opened == 'fp_row_bearbeitung_loch') { f = document.forms.fp_row_bearbeitung_loch_form; // Fehler if (document.getElementById('ajax').innerHTML.split('|')[1] == 1) { f.loch_anzahl.className = 'error anzahl'; } // Fehler in anderem Input daher Funktion aufgerufen else { f.loch_anzahl.className = 'text anzahl'; } // Fehler if (document.getElementById('ajax').innerHTML.split('|')[2] == 1) { f.loch_eckradius.className = 'error eckradius'; } // Fehler in anderem Input daher Funktion aufgerufen else { f.loch_eckradius.className = 'text eckradius'; } // Fehler if (document.getElementById('ajax').innerHTML.split('|')[3] == 1) { f.loch_breite.className = 'error'; } // Fehler in anderem Input daher Funktion aufgerufen else { f.loch_breite.className = 'text'; } // Fehler if (document.getElementById('ajax').innerHTML.split('|')[4] == 1) { f.loch_hoehe.className = 'error'; } // Fehler in anderem Input daher Funktion aufgerufen else { f.loch_hoehe.className = 'text'; } } // Fräsung // // Return-Codes: // [1] = Anzahl // [2] = Eckradius // [3] = Breite // [4] = Hoehe // [5] = Tiefe // // 0 = Kein Fehler // 1 = Fehler if (opened == 'fp_row_bearbeitung_fraesung') { f = document.forms.fp_row_bearbeitung_fraesung_form; // Fehler if (document.getElementById('ajax').innerHTML.split('|')[1] == 1) { f.fraesung_anzahl.className = 'error anzahl'; } // Fehler in anderem Input daher Funktion aufgerufen else { f.fraesung_anzahl.className = 'text anzahl'; } // Fehler if (document.getElementById('ajax').innerHTML.split('|')[2] == 1) { f.fraesung_eckradius.className = 'error eckradius'; } // Fehler in anderem Input daher Funktion aufgerufen else { f.fraesung_eckradius.className = 'text eckradius'; } // Fehler if (document.getElementById('ajax').innerHTML.split('|')[3] == 1) { f.fraesung_breite.className = 'error'; } // Fehler in anderem Input daher Funktion aufgerufen else { f.fraesung_breite.className = 'text'; } // Fehler if (document.getElementById('ajax').innerHTML.split('|')[4] == 1) { f.fraesung_hoehe.className = 'error'; } // Fehler in anderem Input daher Funktion aufgerufen else { f.fraesung_hoehe.className = 'text'; } // Fehler if (document.getElementById('ajax').innerHTML.split('|')[5] == 1) { f.fraesung_tiefe.className = 'error'; } // Fehler in anderem Input daher Funktion aufgerufen else { f.fraesung_tiefe.className = 'text'; } } // Sepzialloch // // Return-Codes: // [1] = Anzahl // [2] = Art // // 0 = Kein Fehler // 1 = Fehler if (opened == 'fp_row_bearbeitung_spezial_loch') { f = document.forms.fp_row_bearbeitung_spezial_loch_form; // Fehler if (document.getElementById('ajax').innerHTML.split('|')[1] == 1) { f.spezial_loch_anzahl.className = 'error'; } // Fehler in anderem Input daher Funktion aufgerufen else { f.spezial_loch_anzahl.className = 'text'; } // Fehler if (document.getElementById('ajax').innerHTML.split('|')[2] == 1) { f.spezial_loch_art.className = 'error'; } // Fehler in anderem Input daher Funktion aufgerufen else { f.spezial_loch_art.className = ''; } } // Lüfter // // Return-Codes: // [1] = Anzahl // [2] = Art // // 0 = Kein Fehler // 1 = Fehler if (opened == 'fp_row_bearbeitung_luefter') { f = document.forms.fp_row_bearbeitung_luefter_form; // Fehler if (document.getElementById('ajax').innerHTML.split('|')[1] == 1) { f.luefter_anzahl.className = 'error'; } // Fehler in anderem Input daher Funktion aufgerufen else { f.luefter_anzahl.className = 'text'; } // Fehler if (document.getElementById('ajax').innerHTML.split('|')[2] == 1) { f.luefter_art.className = 'error'; } // Fehler in anderem Input daher Funktion aufgerufen else { f.luefter_art.className = ''; } } // 5. Beschriftung // // Return-Codes: // [1] = Anzahl Zeichen // [2] = Auswahl Auslegefarbe // // 0 = Kein Fehler // 1 = Fehler if (opened == 'fp_row_beschriftung') { f = document.forms.fp_row_beschriftung_form; if (document.getElementById('ajax').innerHTML.split('|')[1] == 1){ f.beschriftung_anzahl_zeichen.className = 'error'; } if (document.getElementById('ajax').innerHTML.split('|')[2] == 1){ f.auslegung_farbe.className = 'error'; } } // 6. Lieferzeit // Keine Fehlerausgaben // 7. Datei if (opened == 'fp_row_datei') { document.getElementById(anzeige_auswahl).innerHTML = text_ungueltige_datei; } // 8. Anmerkungen (Fehler bei mehr als 500 Zeichen) if (opened == 'fp_row_anmerkungen') { f = document.forms.fp_row_anmerkungen_form; f.anmerkungen.className = 'error'; } // Allgemeine Fehlerausgabe (nicht bei Dateiupload) document.getElementById(anzeige_auswahl).className = 'fp_row_auswahl_error'; if (opened != 'fp_row_datei') { // Nicht bei Datei-Upload document.getElementById(anzeige_auswahl).innerHTML = text_ungueltige_eingabe; } // Null setzen, falls Button vorher gedrückt go_to_bestelluebersicht = null; } /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */ /* Öffnen/Schließen Blocks incl. Ajax-Request (außer Bearbeitung) */ /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */ /* Ajax-Request mit Eingaben des zuletzt geöffneten Blocks */ function check_showhide(req_url,form,obj,divid) { header_objekt = obj; // Objekt geht nicht über Funktionsaufruf übergeben ajaxRequestPost(req_url,'ajax',0,form,'check_showhide_error("'+divid+'")'); } /* Ruft Ajax-Request für Import auf */ function importcodes() { // Generierung Request-req_url request_url = 'php/ajax.php?block=import'; // Übergabe an Ajax ajaxRequestPost(request_url,'ajax',0,document.forms.fp_import,'show_bestelluebersicht_request_import()'); } /* Rufe Ajax-Request für zuletzt geöffneten Block auf */ /* Bei 1. Aufruf öffne Block */ function showhide(obj, divid) { // Ajax-Request (1. Request bei Öffnen des 2. Blocks) if (header) { // Generierung Request-req_url request_url = 'php/ajax.php?block=' + opened; // Request Material if (opened == 'fp_row_material') { check_showhide(request_url,document.forms.fp_row_material_form, obj, divid); } // Request Abmessung if (opened == 'fp_row_abmessung') { check_showhide(request_url,document.forms.fp_row_abmessung_form, obj, divid); } // Request Stueckzahl if (opened == 'fp_row_stueckzahl') { check_showhide(request_url,document.forms.fp_row_stueckzahl_form, obj, divid); } // Request Beschriftung if (opened == 'fp_row_beschriftung') { check_showhide(request_url,document.forms.fp_row_beschriftung_form, obj, divid); } // Request Lieferzeit if (opened == 'fp_row_lieferzeit') { check_showhide(request_url,document.forms.fp_row_lieferzeit_form, obj, divid); } // Request Anmerkungen if (opened == 'fp_row_anmerkungen') { check_showhide(request_url,document.forms.fp_row_anmerkungen_form, obj, divid); } // Sonderbehandlung Bearbeitung + Datei if (opened.search(/^fp_row_bearbeitung/) != -1 || opened == 'fp_row_datei') { if (document.getElementById('ajax').innerHTML != 'error') { document.getElementById('ajax').innerHTML = 'no_error'; // Setzen und aufrufen, da Ajax-Request (check_showhide) übersprungen wird header_objekt = obj; check_showhide_error(divid); } } } // Gehe zu Bestellübersicht else if (go_to_bestelluebersicht == 1) { // Header und Opened bereits null // Auf Null setzen nicht nötig calculate(); } // Mit Öffnen des ersten Blocks oder wenn kein Block offen kein Request else { // Öffne Block open_block = document.getElementById(divid); open_block.style.display = 'block'; // Merke geöffneten Block opened = open_block.id; // Setze Header des geöffneten Blocks obj.className = obj.className + " fp_row_active"; // Für öffnen Datei direkt nach erfolgreichem File-Upload obj.className = obj.className.replace(/fp_row_checked/,""); // Merke Header des geöffneten Blocks header = obj; } } /* After Request Funktion von check_showhide() */ /* Prüft Returnwert und veranlasst demnach Aktion */ function check_showhide_error(divid) { // Hole Returnwert von Ajax-Request return_code = document.getElementById('ajax').innerHTML.split('|')[0]; //alert(return_code); // Alles O.K. if (opened && (return_code == 'ok' || return_code == 'no_error')) { // Schließe geöffneten Block close_block = document.getElementById(opened); close_block.style.display = 'none'; // Header des geschlossenen Blocks nicht mehr aktiv header.className = 'fp_row'; update_header(header, opened); // Gehe zu Bestellübersicht if (go_to_bestelluebersicht == 1) { // Setze Header und Opened = null // Kein Block mehr geöffnet, wenn zurück zum Konfigurator header = null; opened = null; calculate(); } else { // Öffne Block open_block = document.getElementById(divid); open_block.style.display = 'block'; // Merke geöffneten Block opened = open_block.id; // Setze Header des geöffneten Blocks auf aktiv und entferne Haken header_objekt.className = header_objekt.className + " fp_row_active"; header_objekt.className = header_objekt.className.replace(/fp_row_checked/,""); // Merke Header des geöffneten Blocks header = header_objekt; // Alles O.K. -> Request für Neuberechnung Preis calculate(); } } // Fehler else { show_error(opened); } } /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */ /* Bearbeitung (Sonderbehandlung, da mehrere Blocks intern) */ /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */ /* Öffnet den Block der gewünschten Bearbeitungsart */ function show_bearbeitung_art(){ // Hole ausgewählte Bearbeitung daten = document.forms.fp_row_bearbeitung_form; beidseitig = daten.beidseitig.checked; if (daten.add_bearbeitung.value != 'bw'){ // Bohrung if (daten.add_bearbeitung.value == 'bohrung'){ obj = document.getElementById('fp_row_bearbeitung_bohrung'); obj.style.display = 'block'; // Formular-Reset f = document.forms.fp_row_bearbeitung_bohrung_form; f.bohrung_anzahl.className = 'text'; f.bohrung_durchmesser.className = 'text'; f.reset(); } // Bohrung ohne Gewinde für fertige Schraubenmaße if (daten.add_bearbeitung.value == 'bohrung_og'){ obj = document.getElementById('fp_row_bearbeitung_bohrung_og'); obj.style.display = 'block'; // Formular-Reset f = document.forms.fp_row_bearbeitung_bohrung_og_form; f.bohrung_og_anzahl.className = 'text'; f.bohrung_og_art.className = ''; f.reset(); } // Bohrung mit Gewinde für fertige Schraubenmaße if (daten.add_bearbeitung.value == 'bohrung_mg'){ obj = document.getElementById('fp_row_bearbeitung_bohrung_mg'); obj.style.display = 'block'; document.forms.fp_row_bearbeitung_bohrung_mg_form.reset(); // Formular-Reset f = document.forms.fp_row_bearbeitung_bohrung_mg_form; f.bohrung_mg_anzahl.className = 'text'; f.bohrung_mg_art.className = ''; f.reset(); } // Loch if (daten.add_bearbeitung.value == 'loch'){ obj = document.getElementById('fp_row_bearbeitung_loch'); obj.style.display = 'block'; // Formular-Reset f = document.forms.fp_row_bearbeitung_loch_form; f.loch_anzahl.className = 'text anzahl'; f.loch_eckradius.className = 'text eckradius'; f.loch_breite.className = 'text'; f.loch_hoehe.className = 'text'; f.reset(); } // Fräsung if (daten.add_bearbeitung.value == 'fraesung'){ obj = document.getElementById('fp_row_bearbeitung_fraesung'); obj.style.display = 'block'; // Formular-Reset f = document.forms.fp_row_bearbeitung_fraesung_form; f.fraesung_anzahl.className = 'text anzahl'; f.fraesung_eckradius.className = 'text eckradius'; f.fraesung_breite.className = 'text'; f.fraesung_hoehe.className = 'text'; f.fraesung_tiefe.className = 'text'; f.reset(); } // Spezial-Loch if (daten.add_bearbeitung.value == 'spezial_loch'){ obj = document.getElementById('fp_row_bearbeitung_spezial_loch'); obj.style.display = 'block'; // Formular-Reset f = document.forms.fp_row_bearbeitung_spezial_loch_form; f.spezial_loch_anzahl.className = 'text'; f.spezial_loch_art.className = ''; f.reset(); } // Lüfter if (daten.add_bearbeitung.value == 'luefter'){ obj = document.getElementById('fp_row_bearbeitung_luefter'); obj.style.display = 'block'; // Formular-Reset f = document.forms.fp_row_bearbeitung_luefter_form; f.luefter_anzahl.className = 'text'; f.luefter_art.className = ''; f.reset(); } document.getElementById('fp_row_bearbeitung').style.display = 'none'; opened = obj.id } // Form-Reset für neue Auswahl document.forms.fp_row_bearbeitung_form.reset(); daten.beidseitig.checked = beidseitig; } /* Ajax-Request: Füge Bearbeitung hinzu */ function add_bearbeitung_request(req_url,form,divid) { ajaxRequestPost(req_url,'ajax',0,form,'show_bearbeitung("'+divid+'")'); } /* Ajax-Request: Füge Bearbeitung hinzu */ function add_bearbeitung_info_request(req_url,form,divid) { ajaxRequestPost(req_url,'ajax',0,form,''); } /* Rufe Ajax-Request zum Bearbeitung Info hinzufügen auf */ function add_bearbeitung_info(divid){ // Generierung Request-req_url request_url = 'php/ajax.php?block=' + divid; // Request Bohrung if (divid == 'fp_row_bearbeitung') { add_bearbeitung_info_request(request_url,document.forms.fp_row_bearbeitung_form,divid); } } /* Rufe Ajax-Request zum Bearbeitung hinzufügen auf */ function add_bearbeitung(divid){ // Generierung Request-req_url request_url = 'php/ajax.php?block=' + divid + '&entry_id=' + bearbeitung_id; // Request Bohrung if (divid == 'fp_row_bearbeitung_bohrung') { add_bearbeitung_request(request_url,document.forms.fp_row_bearbeitung_bohrung_form,divid); } // Request Bohrung ohne Gewinde if (divid == 'fp_row_bearbeitung_bohrung_og') { add_bearbeitung_request(request_url,document.forms.fp_row_bearbeitung_bohrung_og_form,divid); } // Request Bohrung mit Gewinde if (divid == 'fp_row_bearbeitung_bohrung_mg') { add_bearbeitung_request(request_url,document.forms.fp_row_bearbeitung_bohrung_mg_form,divid); } // Request Loch if (divid == 'fp_row_bearbeitung_loch') { add_bearbeitung_request(request_url,document.forms.fp_row_bearbeitung_loch_form,divid); } // Request Fräsung if (divid == 'fp_row_bearbeitung_fraesung') { add_bearbeitung_request(request_url,document.forms.fp_row_bearbeitung_fraesung_form,divid); } // Request Spezialloch if (divid == 'fp_row_bearbeitung_spezial_loch') { add_bearbeitung_request(request_url,document.forms.fp_row_bearbeitung_spezial_loch_form,divid); } // Request Lüfter if (divid == 'fp_row_bearbeitung_luefter') { add_bearbeitung_request(request_url,document.forms.fp_row_bearbeitung_luefter_form,divid); } } /* After Request Funktion nach add_bearbeitung_request() */ /* Zeigt aktualisierte Bearbeitungsübersicht */ function show_bearbeitung(divid){ // Auswahl Beidseitig Bearbeitung beidseitig = document.forms.fp_row_bearbeitung_form.beidseitig.checked; // Objekt aktuelle Bearbeitungsart und Bearbeitungsübersicht bearbeitung = document.getElementById(divid); // nicht nötig, aber bessere Übersicht als divid uebersicht = document.getElementById('fp_row_bearbeitung'); // Hole Returnwert von Ajax-Request return_code = document.getElementById('ajax').innerHTML.split('|')[0]; //alert(return_code); if (return_code == 'ok') { bearbeitung_counter++; // Entferne Fehlerausgabe falls vorhanden document.getElementById('fp_row_bearbeitung_auswahl').className = 'fp_row_auswahl'; document.getElementById('fp_row_bearbeitung_auswahl').innerHTML = ''; // Baue Bearbeitungsübersicht if (bearbeitung_counter == 1) { uebersicht.innerHTML = uebersicht.innerHTML + '

' + text_bereits_hinzugefügt + ':

'; } // Bohrung if (bearbeitung.id == 'fp_row_bearbeitung_bohrung') { daten = document.forms.fp_row_bearbeitung_bohrung_form; eintrag = ''; eintrag = eintrag + ''; eintrag = eintrag + ''; eintrag = eintrag + ''; eintrag = eintrag + ''; eintrag = eintrag + "
' + document.getElementById('ajax').innerHTML.split('|')[1] + '' + document.getElementById('ajax').innerHTML.split('|')[2] + '' + document.getElementById('ajax').innerHTML.split('|')[3] + '' + text_loeschen + '
"; uebersicht.innerHTML = uebersicht.innerHTML + eintrag; } // Bohrung ohne Gewinde if (bearbeitung.id == 'fp_row_bearbeitung_bohrung_og') { daten = document.forms.fp_row_bearbeitung_bohrung_og_form; eintrag = ''; eintrag = eintrag + '"; eintrag = eintrag + ''; eintrag = eintrag + '"; eintrag = eintrag + ''; eintrag = eintrag + "
' + document.getElementById('ajax').innerHTML.split('|')[1] + "' + document.getElementById('ajax').innerHTML.split('|')[2] + '' + document.getElementById('ajax').innerHTML.split('|')[3]; if (document.getElementById('ajax').innerHTML.split('|')[4] != '') { eintrag = eintrag + " " + document.getElementById('ajax').innerHTML.split('|')[4]; } eintrag = eintrag + "' + text_loeschen + '
"; uebersicht.innerHTML = uebersicht.innerHTML + eintrag; } // Bohrung mit Gewinde if (bearbeitung.id == 'fp_row_bearbeitung_bohrung_mg') { daten = document.forms.fp_row_bearbeitung_bohrung_mg_form; eintrag = ''; eintrag = eintrag + '"; eintrag = eintrag + ''; eintrag = eintrag + ''; eintrag = eintrag + ''; eintrag = eintrag + "
' + document.getElementById('ajax').innerHTML.split('|')[1] + "' + document.getElementById('ajax').innerHTML.split('|')[2] + '' + document.getElementById('ajax').innerHTML.split('|')[3] + '' + text_loeschen + '
"; uebersicht.innerHTML = uebersicht.innerHTML + eintrag; } // Loch if (bearbeitung.id == 'fp_row_bearbeitung_loch') { daten = document.forms.fp_row_bearbeitung_loch_form; eintrag = ''; eintrag = eintrag + '"; eintrag = eintrag + ''; eintrag = eintrag + ''; eintrag = eintrag + ''; eintrag = eintrag + "
' + document.getElementById('ajax').innerHTML.split('|')[1] + "' + document.getElementById('ajax').innerHTML.split('|')[2] + '' + document.getElementById('ajax').innerHTML.split('|')[3] + '' + text_loeschen + '
"; uebersicht.innerHTML = uebersicht.innerHTML + eintrag; } // Fräsung if (bearbeitung.id == 'fp_row_bearbeitung_fraesung') { daten = document.forms.fp_row_bearbeitung_fraesung_form; eintrag = ''; eintrag = eintrag + '"; eintrag = eintrag + ''; eintrag = eintrag + ''; eintrag = eintrag + ''; eintrag = eintrag + "
' + document.getElementById('ajax').innerHTML.split('|')[1] + "' + document.getElementById('ajax').innerHTML.split('|')[2] + '' + document.getElementById('ajax').innerHTML.split('|')[3] + '' + text_loeschen + '
"; uebersicht.innerHTML = uebersicht.innerHTML + eintrag; } // Spezialloch if (bearbeitung.id == 'fp_row_bearbeitung_spezial_loch') { daten = document.forms.fp_row_bearbeitung_spezial_loch_form; eintrag = ''; eintrag = eintrag + '"; eintrag = eintrag + ''; eintrag = eintrag + ''; eintrag = eintrag + ''; eintrag = eintrag + "
' + document.getElementById('ajax').innerHTML.split('|')[1] + "' + document.getElementById('ajax').innerHTML.split('|')[2] + '' + document.getElementById('ajax').innerHTML.split('|')[3] + '' + text_loeschen + '
"; uebersicht.innerHTML = uebersicht.innerHTML + eintrag; } // Lüfter if (bearbeitung.id == 'fp_row_bearbeitung_luefter') { daten = document.forms.fp_row_bearbeitung_luefter_form; eintrag = ''; eintrag = eintrag + '"; eintrag = eintrag + ''; eintrag = eintrag + ''; eintrag = eintrag + ''; eintrag = eintrag + "
' + document.getElementById('ajax').innerHTML.split('|')[1] + "' + document.getElementById('ajax').innerHTML.split('|')[2] + '' + document.getElementById('ajax').innerHTML.split('|')[3] + '' + text_loeschen + '
"; uebersicht.innerHTML = uebersicht.innerHTML + eintrag; } // Setze bearbeitung_id hoch für nächstes Table bearbeitung_id++; // Schließe Bearbeitungsart bearbeitung.style.display='none'; // Öffne Übersicht und setze als geöffnet uebersicht.style.display = 'block'; opened = uebersicht.id; // Schreibe Auswahl Beidseitig Bearbeitung document.forms.fp_row_bearbeitung_form.beidseitig.checked = beidseitig; // Rechnen!? } else { // Wenn nicht ok lasse Fenster und gebe Fehlermeldung aus show_error(opened); } } /* Ajax-Request: Lösche Bearbeitung */ function delete_bearbeitung_request(req_url,tableid) { ajaxRequest(req_url,'ajax',0,'','delete_bearbeitung_update("'+tableid+'")'); } /* Rufe Ajax-Request zum löschen einer Bearbeitung auf */ function delete_bearbeitung(tableid){ // Zu löschende Tabelle bzw. Entry-ID request_url = 'php/ajax.php?block=delete_bearbeitung' + '&entry_id=' + tableid; // Aufruf Ajax-Request delete_bearbeitung_request(request_url,tableid); } /* After Request Funktion: aktualisiere Übersicht */ function delete_bearbeitung_update(tableid){ // Objekt zu löschende Tabelle + Bearbeitungsübersicht table_to_delete = document.getElementById(tableid); uebersicht = document.getElementById('fp_row_bearbeitung'); // Lösche Tabelle und zähle Bearbeitungs-Counter runter uebersicht.removeChild(table_to_delete); bearbeitung_counter--; // Wenn Bearbeitungs-Counter gleich 0 entferne Textzusatz "bereits hinzugefügt..." if (bearbeitung_counter == 0) { text_bereits_hinzugefuegt = document.getElementById('enthaltene_bearbeitungen'); uebersicht.removeChild(text_bereits_hinzugefuegt); } // beidseitig = document.forms.fp_row_bearbeitung_form.beidseitig.checked; // Form-Reset für neue Auswahl // document.forms.fp_row_bearbeitung_form.reset(); // document.forms.fp_row_bearbeitung_form.beidseitig.checked = beidseitig; } /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */ /* Dateiupload */ /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */ function upload_file() { // Flag file_upload nullen file_upload = null; uploaded_file = null; document.getElementById('ajax').innerHTML=''; file_form = document.forms.fp_row_datei_form; listener(); file_form.action="php/ajax.php?block=upload_file"; file_form.submit(); document.getElementById('fp_row_datei').style.display = 'none'; document.getElementById('fp_row_datei_meldung').style.display = 'block'; } function listener(){ if (document.getElementById('ajax').innerHTML=='') window.setTimeout("listener()",1); else upload_file_info(); } function upload_file_info() { // Hole Returnwert return_code = document.getElementById('ajax').innerHTML.split('|')[0]; document.getElementById('fp_row_datei_meldung').style.display = 'none'; document.getElementById('fp_row_datei').style.display = 'block'; // Alles O.K. if (return_code == 'ok') { // Setze Flag für erfolgreichen Dateiupload und setzte Dateinamen (siehe update_header) file_upload = 'ok'; uploaded_file = document.getElementById('ajax').innerHTML.split('|')[1]; // Schließe geöffneten Block close_block = document.getElementById(opened); close_block.style.display = 'none'; // Header des geschlossenen Blocks nicht mehr aktiv header.className = 'fp_row'; update_header(header, opened); window.setTimeout("calculate()",1); header = null; opened = null; } // Fehler else { show_error(opened); } } /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */ /* Preisberechnung per Ajax-Request */ /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */ /* Ajax-Request: Berechnung */ function calculate() { request_url = 'php/ajax.php?block=calculate'; ajaxRequest(request_url,'ajax',0,'','show_calculation()'); } /* After-Request Berechnung */ function show_calculation() { // Hole Berechnungswerte von Ajax-Request werte = document.getElementById('ajax').innerHTML.split('|'); grundpreis = werte[1]; stueckzahl = werte[0]; stueckpreis = werte[2]; zwischenpreis_netto = werte[3]; extra_preis = werte[4]; lieferzeit_preis = werte[5]; rabatt = werte[6]; preis_netto = werte[7]; preis_brutto = werte[8]; document.getElementById('fp_grundpreis').innerHTML = grundpreis; document.getElementById('fp_anzahl').innerHTML = stueckzahl; document.getElementById('fp_preis_stueck').innerHTML = stueckpreis; document.getElementById('fp_zwischenpreis_netto').innerHTML = zwischenpreis_netto; document.getElementById('fp_extra').innerHTML = extra_preis; document.getElementById('fp_lieferzeit_preis').innerHTML = lieferzeit_preis; document.getElementById('fp_rabatt').innerHTML = rabatt; document.getElementById('fp_preis_netto').innerHTML = preis_netto; document.getElementById('fp_preis_brutto').innerHTML = preis_brutto; if (go_to_bestelluebersicht == 1){ // Wieder zurücksetzen go_to_bestelluebersicht = null; // Zur Bestelluebersicht show_bestelluebersicht_request(); } } // Ruft showhide auf // Setzt obj, divid auf header, opened --> Block bleibt geöffnet function new_calculation() { obj = header; divid = opened; showhide(obj, divid); } /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */ /* Sonstiges */ /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */ // Mouse-Over function hover(obj, hoverimage) { obj.className = obj.className.replace(/fp_row/,"fp_row_over"); document.getElementById(hoverimage).src = "images/fp_edit_button_over_" + text_sprache + ".gif"; } // Mouse-Out function hover_out(obj, hoverimage) { obj.className = obj.className.replace(/fp_row_over/,"fp_row"); document.getElementById(hoverimage).src = "images/fp_edit_button_" + text_sprache + ".gif"; } /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */ /* Bestellübersicht */ /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */ function get_bestelluebersicht(){ go_to_bestelluebersicht = 1; showhide(null, null); } function show_bestelluebersicht_request(){ request_url = 'php/ajax.php?block=show_bestelluebersicht'; ajaxRequest(request_url,'ajax',0,'','show_bestelluebersicht()'); } function show_bestelluebersicht_request_import(){ request_url = 'php/ajax.php?block=show_bestelluebersicht_import'; ajaxRequest(request_url,'ajax',0,'','show_bestelluebersicht()'); } function show_bestelluebersicht(){ // Hole Berechnungswerte von Ajax-Request var bestellung = document.getElementById('ajax').innerHTML.split('|'); // Hole Return-Code return_code = bestellung[0]; if (return_code == 'ok') { // Hole Bestelldaten // Material document.getElementById('uebersicht_material').innerHTML = bestellung[1]; // Abmessung document.getElementById('uebersicht_abmessung').innerHTML = bestellung[2]; // Stueckzahl document.getElementById('uebersicht_stueckzahl').innerHTML = bestellung[3]; // Bearbeitung Beidseitig document.getElementById('bearbeitung_beidseitig').innerHTML = bestellung[4]; // Bearbeitung document.getElementById('uebersicht_bearbeitung').innerHTML = bestellung[5]; // Beschriftung document.getElementById('uebersicht_beschriftung').innerHTML = bestellung[6]; // Beschriftung Auslegung document.getElementById('uebersicht_auslegung_farbe').innerHTML = bestellung[7]; // Lieferzeit document.getElementById('uebersicht_lieferzeit').innerHTML = bestellung[8]; // Datei document.getElementById('uebersicht_datei').innerHTML = bestellung[9]; // Grundpreis document.getElementById('uebersicht_materialpreis').innerHTML = bestellung[10]; // Aufpreis document.getElementById('uebersicht_aufpreis').innerHTML = bestellung[11]; // Grundpreis document.getElementById('uebersicht_grundpreis').innerHTML = bestellung[12]; // Stückpreis document.getElementById('uebersicht_preis_stueck').innerHTML = bestellung[13]; // Zwischenpreis netto document.getElementById('uebersicht_zwischenpreis_netto').innerHTML = bestellung[14]; // Extra document.getElementById('uebersicht_extra_preis').innerHTML = bestellung[15]; // Lieferzeit Preis document.getElementById('uebersicht_lieferzeit_preis').innerHTML = bestellung[16]; // Rabatt document.getElementById('uebersicht_rabatt').innerHTML = bestellung[17]; // Gesamtpreis netto document.getElementById('uebersicht_preis_netto').innerHTML = bestellung[18]; // Gesamtpreis brutto document.getElementById('uebersicht_preis_brutto').innerHTML = bestellung[19]; // Wenn ok gebe aus document.getElementById('middle_row2_content_inner_fp').style.display = "none"; document.getElementById('middle_row2_content_bottom_fp').style.display = "none"; document.getElementById('middle_row3_content_inner_fp').style.display = "block"; document.getElementById('middle_row3_content_bottom_fp').style.display = "block"; } // Fehler else { if (bestellung[1] == '1'){ document.getElementById('fp_row_material_auswahl').innerHTML = text_angaben_fehlen; document.getElementById('fp_row_material_auswahl').style.color = '#e2001a'; } if (bestellung[2] == '1'){ document.getElementById('fp_row_abmessung_auswahl').innerHTML = text_angaben_fehlen; document.getElementById('fp_row_abmessung_auswahl').style.color = '#e2001a'; } if (bestellung[3] == '1'){ document.getElementById('fp_row_abmessung_auswahl').innerHTML = text_angaben_fehlen; document.getElementById('fp_row_abmessung_auswahl').style.color = '#e2001a'; } if (bestellung[4] == '1'){ document.getElementById('fp_row_stueckzahl_auswahl').innerHTML = text_angaben_fehlen; document.getElementById('fp_row_stueckzahl_auswahl').style.color = '#e2001a'; } if (bestellung[5] == '1'){ document.getElementById('fp_row_beschriftung_auswahl').innerHTML = text_angaben_fehlen; document.getElementById('fp_row_beschriftung_auswahl').style.color = '#e2001a'; } if (bestellung[6] == '1'){ document.getElementById('fp_row_lieferzeit_auswahl').innerHTML = text_angaben_fehlen; document.getElementById('fp_row_lieferzeit_auswahl').style.color = '#e2001a'; } if (bestellung[7] == '1'){ document.getElementById('fp_row_datei_auswahl').innerHTML = text_angaben_fehlen; document.getElementById('fp_row_datei_auswahl').style.color = '#e2001a'; } if (bestellung[8] == '1'){ document.getElementById('fp_row_bearbeitung_auswahl').innerHTML = text_angaben_fehlen; document.getElementById('fp_row_bearbeitung_auswahl').style.color = '#e2001a'; } if (bestellung[9] == '1'){ document.getElementById('fp_row_bearbeitung_auswahl').innerHTML = text_angaben_fehlen; document.getElementById('fp_row_bearbeitung_auswahl').style.color = '#e2001a'; } if (bestellung[10] == '1'){ document.getElementById('fp_row_beschriftung_auswahl').innerHTML = text_angaben_fehlen; document.getElementById('fp_row_beschriftung_auswahl').style.color = '#e2001a'; } } } function show_konfigurator(){ document.getElementById('middle_row3_content_inner_fp').style.display = "none"; document.getElementById('middle_row3_content_bottom_fp').style.display = "none"; document.getElementById('middle_row2_content_inner_fp').style.display = "block"; document.getElementById('middle_row2_content_bottom_fp').style.display = "block"; } /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */ /* Bestellung absenden */ /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */ function send_bestellung(){ request_url = 'php/ajax.php?block=send_bestellung'; ajaxRequest(request_url,'ajax',0,'','end()'); } function end(){ document.getElementById('content').innerHTML = "

" + text_bestellung_erfolgreich + "

"; document.getElementById('btn_warenkorb').style.display = 'none'; document.getElementById('btn_back').style.display = 'none'; }