/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
/* 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 + '| ' + document.getElementById('ajax').innerHTML.split('|')[1] + ' | ';
eintrag = eintrag + '' + document.getElementById('ajax').innerHTML.split('|')[2] + ' | ';
eintrag = eintrag + '' + document.getElementById('ajax').innerHTML.split('|')[3] + ' | ';
eintrag = eintrag + ' | ';
eintrag = eintrag + "
";
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 + '| ' + document.getElementById('ajax').innerHTML.split('|')[1] + " | ";
eintrag = eintrag + '' + document.getElementById('ajax').innerHTML.split('|')[2] + ' | ';
eintrag = eintrag + '' + document.getElementById('ajax').innerHTML.split('|')[3];
if (document.getElementById('ajax').innerHTML.split('|')[4] != '') {
eintrag = eintrag + " " + document.getElementById('ajax').innerHTML.split('|')[4];
}
eintrag = eintrag + " | ";
eintrag = eintrag + ' | ';
eintrag = eintrag + "
";
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 + '| ' + document.getElementById('ajax').innerHTML.split('|')[1] + " | ";
eintrag = eintrag + '' + document.getElementById('ajax').innerHTML.split('|')[2] + ' | ';
eintrag = eintrag + '' + document.getElementById('ajax').innerHTML.split('|')[3] + ' | ';
eintrag = eintrag + ' | ';
eintrag = eintrag + "
";
uebersicht.innerHTML = uebersicht.innerHTML + eintrag;
}
// Loch
if (bearbeitung.id == 'fp_row_bearbeitung_loch') {
daten = document.forms.fp_row_bearbeitung_loch_form;
eintrag = '';
eintrag = eintrag + '| ' + document.getElementById('ajax').innerHTML.split('|')[1] + " | ";
eintrag = eintrag + '' + document.getElementById('ajax').innerHTML.split('|')[2] + ' | ';
eintrag = eintrag + '' + document.getElementById('ajax').innerHTML.split('|')[3] + ' | ';
eintrag = eintrag + ' | ';
eintrag = eintrag + "
";
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 + '| ' + document.getElementById('ajax').innerHTML.split('|')[1] + " | ";
eintrag = eintrag + '' + document.getElementById('ajax').innerHTML.split('|')[2] + ' | ';
eintrag = eintrag + '' + document.getElementById('ajax').innerHTML.split('|')[3] + ' | ';
eintrag = eintrag + ' | ';
eintrag = eintrag + "
";
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 + '| ' + document.getElementById('ajax').innerHTML.split('|')[1] + " | ";
eintrag = eintrag + '' + document.getElementById('ajax').innerHTML.split('|')[2] + ' | ';
eintrag = eintrag + '' + document.getElementById('ajax').innerHTML.split('|')[3] + ' | ';
eintrag = eintrag + ' | ';
eintrag = eintrag + "
";
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 + '| ' + document.getElementById('ajax').innerHTML.split('|')[1] + " | ";
eintrag = eintrag + '' + document.getElementById('ajax').innerHTML.split('|')[2] + ' | ';
eintrag = eintrag + '' + document.getElementById('ajax').innerHTML.split('|')[3] + ' | ';
eintrag = eintrag + ' | ';
eintrag = eintrag + "
";
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';
}