var Changed = false; var AfterDialogAction = ''; var AfterDialogActionYes = ''; var AfterDialogActionNo = ''; var AfterDialogActionCancel = ''; var AfterAlertAction = ''; var Bild1Def = ''; var Bild2Def = ''; var Bild3Def = ''; var ClientPath = '/horashop/'; var interChk = 0; function CancelForm(frmName) { Changed = false; } function DelBasket(id, view) { EasyConfirm("Sind Sie sicher, dass Sie Nr. " + id + " löschen möchten?", "OpenLink('" + ClientPath + "basket.php?op=drop_basket&view=" + view + "&basket=" + id + "');"); } function DelBasketEntry(id, name) { EasyConfirm("Sind Sie sicher, dass der Artikel '" + name + "' gelöscht werden soll?", "OpenLink('" + ClientPath + "basket.php?op=drop&id=" + id + "');"); } // Alarmfenster anzeigen // als Alternative zu alert() mit mehr Möglichkeiten und dafür kein "Browser-Blinken" function AlertWin(text, title) { // Titel setzen wenn nicht definiert if(title !== undefined) { title = 'WebShop'; } // Text eintragen $('aw_content').innerHTML = text; $('aw_title').innerHTML = title; // Positionierung CenterDiv('alertwindow'); // Ändern der BODY-CSS-Klasse SetPageblock(true); // Fenster anzeigen ShowSektor('alertwindow'); } // Alarmfenster schließen - wird vorallem vom Alarmfenster selbst benutzt function CloseAlertWin() { // Fenster verstecken HideSektor('alertwindow'); // Zurücksetzen der BODY-CSS-Klasse SetPageblock(false); if(AfterAlertAction.length > 0) { eval(AfterAlertAction); } } // Zeigt einen AJAX Indikator an function ShowIndicator(indicatorname) { // nach oben scrollen window.scrollTo(0, 0); // Positionierung der Grafik CenterDiv(indicatorname); // Blocken SetPageblock(true); // Grafik anzeigen ShowSektor(indicatorname); } function EasyConfirm(text, action) { CenterDiv('confirmwindow'); SetPageblock(true); $('cw_text').innerHTML = text; AfterDialogAction = action; HideSektor('cw_answer1'); ShowSektor('cw_answer2'); HideSektor('cw_answer3'); HideSektor('cw_answer4'); ShowSektor('confirmwindow'); } function EasyDisfirm(text, action) { CenterDiv('confirmwindow'); SetPageblock(true); $('cw_text').innerHTML = text; AfterDialogAction = action; HideSektor('cw_answer1'); HideSektor('cw_answer2'); HideSektor('cw_answer3'); ShowSektor('cw_answer4'); ShowSektor('confirmwindow'); } function EasyYesNoCancel(text, actionYes, actionNo, actionCancel) { HideSektor('cw_answer1'); HideSektor('cw_answer2'); ShowSektor('cw_answer3'); HideSektor('cw_answer4'); CenterDiv('confirmwindow'); SetPageblock(true); $('cw_text').innerHTML = text; AfterDialogActionYes = actionYes; AfterDialogActionNo = actionNo; AfterDialogActionCancel = actionCancel; ShowSektor('confirmwindow'); } function DoVisibilities(vis, invis) { if(vis.length > 0) { for(var i = 0; i < vis.length; i++) { if($(vis[i])) { ShowSektor(vis[i]); var num = vis[i].substr(3); var thumb = "r" + num + "thumb"; var range = "r" + num + "range"; if($(thumb)) ShowSektor(thumb); if($(range)) ShowSektor(range); } } } if(invis.length > 0) { for(var i = 0; i < invis.length; i++) { if($(invis[i])) { HideSektor(invis[i]); var num = invis[i].substr(3); var thumb = "r" + num + "thumb"; var range = "r" + num + "range"; if($(thumb)) HideSektor(thumb); if($(range)) HideSektor(range); } } } } function Save2VtsResponse(request) { var values = request.responseXML.getElementsByTagName('value'); var rtcd = 0; var row = 0; var bild1 = ''; var bild2 = ''; var bild3 = ''; var bild1txt = ''; var bild1colors = ''; var bild1sizes = ''; var ausblenden = 0; var vis = new Array(); var invis = new Array(); var fpruef = new Array(); var dts = new Array(); var noerror = new Array(); var idpunkte = 'auf Anfrage'; var tooltip = ''; try { rtcd = values[0].firstChild.nodeValue; } catch(e) { void(0); } try { row = values[1].firstChild.nodeValue; } catch(e) { void(0); } try { bild1 = values[2].firstChild.nodeValue; } catch(e) { void(0); } try { bild2 = values[3].firstChild.nodeValue; } catch(e) { void(0); } try { bild3 = values[4].firstChild.nodeValue; } catch(e) { void(0); } try { bild1txt = values[5].firstChild.nodeValue; } catch(e) { void(0); } try { bild1colors = values[6].firstChild.nodeValue; } catch(e) { void(0); } try { bild1sizes = values[7].firstChild.nodeValue; } catch(e) { void(0); } try { ausblenden = values[8].firstChild.nodeValue; } catch(e) { void(0); } try { vis = values[9].firstChild.nodeValue.split(';'); } catch(e) { void(0); } try { invis = values[10].firstChild.nodeValue.split(';'); } catch(e) { void(0); } try { fpruef = values[11].firstChild.nodeValue.split(';'); } catch(e) { void(0); } try { dts = values[12].firstChild.nodeValue.split('@'); } catch(e) { void(0); } try { noerror = values[13].firstChild.nodeValue.split(';'); } catch(e) { void(0); } try { idpunkte = values[14].firstChild.nodeValue; } catch(e) { void(0); } try { tooltip = values[15].firstChild.nodeValue; } catch(e) { void(0); } if(rtcd == 2) // = Verarbeitet aber keine Änderung! { DoVisibilities(vis, invis); DoErrorVisual(fpruef, noerror); } else if(rtcd == 3) { AlertWin('Bitte geben Sie maximal 400 Zeichen ein!'); } else if(rtcd == 1) { Changed = true; if(bild1.length > 0) { SetDynPicture('r54', bild1); } if(bild2.length > 0) { SetDynPicture('r55', bild2); } if(bild3.length > 0) { SetDynPicture('r56', bild3); } SetImgOneText(bild1txt, bild1colors, bild1sizes); if( (ausblenden >= 1) ) { HideSektor('div'+row); } else { ShowSektor('div'+row); } DoVisibilities(vis, invis); DoErrorVisual(fpruef, noerror); if(dts.length > 0) { for(var i = 0; i < dts.length; i++) { dts_daten = dts[i].split('='); if($(dts_daten[0])) { $(dts_daten[0]).value = dts_daten[1]; } } } if($('r105')) { $('r105').value = idpunkte; } if(tooltip.length > 0) { if($('div'+row)) { $('div'+row).title = tooltip; } } // weitere Tooltips etc. if(values.length > 13) { for(var i = 13; i < values.length; i++) { try { var entry = values[i].firstChild.nodeValue; if(entry.length == 0) continue; var eType = entry.substr(0, 1); var sepPos = entry.indexOf(':'); var rowId = entry.substr(1, sepPos - 1); var data = entry.substr(sepPos + 1); if(eType == 'T') // Tooltip { if($('div'+rowId)) { $('div'+rowId).title = data; } } else if(eType == 'V') // Values { if($('r'+rowId)) { var currVal = $('r'+rowId).value; if(currVal != data) { $('r'+rowId).value = data; } } } else if(eType == 'I') // Min-Value { if($('txt'+rowId+'min')) { $('txt'+rowId+'min').innerHTML = data; } } else if(eType == 'A') // Max-Value { if($('txt'+rowId+'max')) { $('txt'+rowId+'max').innerHTML = data; } } else if(eType == 'R') // Readonly-Flag für Textfelder { var idName = 'r'+rowId; if($(idName)) { var currClassName = $(idName).className; var containsError = (currClassName == 'errorinput'); if( (data == 1) && (!containsError) ) { $(idName).className = 'inputterRO'; $(idName).readOnly = true; } else { if(!containsError) { $(idName).className = 'inputter'; } $(idName).readOnly = false; } } } } catch(e) { void(0); } } } } else { AlertWin('Speichern Ihrer Eingabe fehlgeschlagen!'); } } function DoErrorVisual(fpruef, noerror) { if(fpruef.length > 0) { for(var i = 0; i < fpruef.length; i++) { idname = fpruef[i]; if($(idname)) { $(idname).className = 'errorinput'; } idname = fpruef[i] + 'vtext'; if($(idname)) { $(idname).className = 'errorinput'; } } anyInvalid = true; } else { anyInvalid = false; } if(noerror.length > 0) { for(var i = 0; i < noerror.length; i++) { idname = noerror[i]; if($(idname)) { $(idname).className = 'inputter'; } idname = noerror[i] + 'vtext'; if($(idname)) { $(idname).className = ''; } } } } function Save2VtsFailure() { AlertWin('Speichern Ihrer Eingabe fehlgeschlagen!'); } function ItemValid() { for(var formNo = 0; formNo < document.forms.length; formNo++) { for(var eleNo = 0; eleNo < document.forms[formNo].elements.length; eleNo++) { if(document.forms[formNo].elements[eleNo].className == 'errorinput') return false; } } return true; } function GotDynPictures(request) { var values = request.responseXML.getElementsByTagName('value'); var row = 0; var bild1 = ''; var bild2 = ''; var bild3 = ''; var bild1txt = ''; var bild1colors = ''; var bild1sizes = ''; try { row = values[0].firstChild.nodeValue; } catch(e) { void(0); } try { bild1 = values[1].firstChild.nodeValue; } catch(e) { void(0); } try { bild2 = values[2].firstChild.nodeValue; } catch(e) { void(0); } try { bild3 = values[3].firstChild.nodeValue; } catch(e) { void(0); } try { bild1txt = values[4].firstChild.nodeValue; } catch(e) { void(0); } try { bild1colors = values[5].firstChild.nodeValue; } catch(e) { void(0); } try { bild1sizes = values[6].firstChild.nodeValue; } catch(e) { void(0); } if( ($('r54')) && (bild1.length > 0) ) // 1. Bild { SetDynPicture('r54', bild1); } if( ($('r55')) && (bild2.length > 0) ) // 2. Bild { SetDynPicture('r55', bild2); } if( ($('r56')) && (bild3.length > 0) ) // 3. Bild { SetDynPicture('r56', bild3); } SetImgOneText(bild1txt, bild1colors, bild1sizes); } function SetImgOneText(text, color, size) { var texts = text.split("~"); var colors = color.split("~"); var sizes = size.split("~"); for(var i = 0; i < 10; i++) { var labelId = 'imgText' + i; if($(labelId)) { try { var parentId = $(labelId).parentNode.id; $(parentId).hide(); var thisText = texts[i]; if( (thisText) && (thisText.length > 0) ) { var renderedText = thisText.replace(/#chr10#/ig, "
"); $(labelId).innerHTML = renderedText; $(parentId).show(); } var thisColor = colors[i]; if( (thisColor) && (thisColor.length > 0) ) { var rgbValues = thisColor.split(','); var hexCol = "#" + RGBtoHex(rgbValues[0], rgbValues[1], rgbValues[2]); $(labelId).style.color = "red"; } else { $(labelId).style.color = ''; } var thisSize = sizes[i]; if( (thisSize) && (thisSize.length > 0) ) { var ptSize = parseInt(thisSize) - 2; if(ptSize > 0) { var newSize = ptSize + 'pt'; $(labelId).style.fontSize = newSize; } } } catch(e) { } } } } function RGBtoHex(R,G,B) { return toHex(R)+toHex(G)+toHex(B) } function toHex(N) { if (N==null) return "00"; N=parseInt(N); if (N==0 || isNaN(N)) return "00"; N=Math.max(0,N); N=Math.min(N,255); N=Math.round(N); return "0123456789ABCDEF".charAt((N-N%16)/16) + "0123456789ABCDEF".charAt(N%16); } function SetDynPictures(row) { var pars = "r=" + row; var url = ClientPath + "svc/getrowimages.php"; var ajRqImages = new Ajax.Request( url, { method: 'get', parameters: pars, onSuccess: GotDynPictures, asynchronous: true } ); } function Chk4Calc() { var pars = ""; var url = ClientPath + "svc/chk4calc.php"; var myAjax = new Ajax.Request( url, { method: 'get', parameters: pars, onSuccess: Chk4CalcResponse, asynchronous: true } ); } function Chk4CalcResponse(request) { var values = request.responseXML.getElementsByTagName('value'); var rtcd = 0; var prjnr = ''; try { rtcd = values[0].firstChild.nodeValue; } catch(e) { void(0); } try { outTxt = values[1].firstChild.nodeValue; } catch(e) { void(0); } if(rtcd == 1) { var txt = 'Die Preise für Ihre Anfrage sind da! '; if(prjnr.length > 0) txt += 'Ihr Projekt hat die Nr. ' + outTxt + ' erhalten. '; txt += 'Möchten Sie diese nun anzeigen?'; EasyConfirm(txt, "OpenLink('" + ClientPath + "basket.php');"); window.clearInterval(interChk); } else if(rtcd == 2) { var txt = 'Ihre Anfrage konnte von der Online-Kalkulation nicht beantwortet werden! Die mitgeteilte Fehlermeldung lautet:
'; txt += outTxt; txt += '
'; txt += 'Soll der Warenkorb nun angezeigt werden?'; EasyConfirm(txt, "OpenLink('" + ClientPath + "basket.php');"); window.clearInterval(interChk); } } function ClearAssistantResponse(resp) { var values = resp.responseXML.getElementsByTagName('value'); var rc = 0; var row = -1; try { rc = values[0].firstChild.nodeValue; } catch(e) { void(0); } try { row = values[1].firstChild.nodeValue; } catch(e) { void(0); } if(row > 0) { $('clearAssistantButton'+row).hide(); if($('r'+row+'vtext')) { $('r'+row+'vtext').value = ''; $('r'+row+'vtext').title = ''; } $('r'+row).value = ''; if($('r'+row+'w2')) $('r'+row+'w2').value = ''; if($('r'+row+'w3')) $('r'+row+'w3').value = ''; if($('r'+row+'thumbimg')) $('r'+row+'thumbimg').hide(); $('div'+row).onmouseover = null; $('div'+row).onmouseout = null; hideTip(); } } function ClearAssistantFailure() { AlertWin('Entfernen fehlgeschlagen!'); } function ClearAssistant(row) { var pars = "r=" + row; var url = ClientPath + "svc/assistant_clear.php"; var ajxCall = new Ajax.Request( url, { method: 'get', parameters: pars, onSuccess: ClearAssistantResponse, onFailure: ClearAssistantFailure, asynchronous: true } ); } function Save2Vts(row, value, flag_nopicoverride) { var async = true; if(row == -2) { row = -1; async = false; } var pars = "r=" + row + "&nopic=" + flag_nopicoverride + "&v=" + encodeURIComponent(value) + "&layer=" + currLayer; var url = ClientPath + "svc/save2vts.php"; var myAjax = new Ajax.Request( url, { method: 'get', parameters: pars, onSuccess: Save2VtsResponse, onFailure: Save2VtsFailure, asynchronous: async } ); if($('lasttabpos')) { $('lasttabpos').value = row; } } function GetCheckValue(checkboxid) { if($(checkboxid).checked) { return '1'; } else { return '0'; } } function SetDirectoryPic(newfile) { var newsrc = 'getimage.php?f=' + newfile; if( newsrc != document.images['directorypicture'].src ) { document.images['directorypicture'].src = newsrc; } } function SetDynPicture(picname, newfile, scale) { if(document.images[picname]) { // Scale if(scale === undefined) { scale = 0; } var newsrc = 'getdynimage.php?f=' + newfile + '&scale=' + String(scale); if( newsrc != document.images[picname].src ) { document.images[picname].src = newsrc; } } } function SetSurfacePicture(picname, newfile, quer) { if(document.images[picname]) { var newsrc = 'getdynimage.php?c=t&f=' + newfile + '&q=' + quer + '&crop=180'; if( newsrc != document.images[picname].src ) { document.images[picname].src = newsrc; //window.setTimeout("document.images['" + picname + "'].src = '" + newsrc + "';", 1000); } } } function GetInnerWidth() { var w = 0; if(window.innerWidth) { w = window.innerWidth; } else if(document.body && document.body.offsetWidth) { w = document.body.offsetWidth; if(document.documentElement && document.documentElement.clientWidth) { w = document.documentElement.clientWidth; } } return w; } function GetInnerHeight() { var h = 0; if(window.innerHeight) { h = window.innerHeight; } else if(document.body && document.body.offsetHeight) { h = document.body.offsetHeight; if(document.documentElement && document.documentElement.clientHeight) { h = document.documentElement.clientHeight; } } return h; } function CenterDiv(divId) { dim = $(divId).getDimensions(); l = Math.max(Math.round((GetInnerWidth() - dim.width) / 2), 0); t = Math.max(Math.round((GetInnerHeight() - dim.height) / 2), 0); $(divId).style.left = l+'px'; $(divId).style.top = t+'px'; } function SektorIsVisible(id) { if($(id).style.display == 'none') return false; else return true; } function SektorIsInvisible(id) { if($(id).style.display == 'none') return true; else return false; } function ShowSektor(id) { if(document.getElementById) { if(document.getElementById(id)) { if(document.all) document.getElementById(id).style.display = 'block'; else document.getElementById(id).style.display = 'table-row'; if(document.getElementById('last_expansion')) { document.getElementById('last_expansion').value = id; } } } } function HideSektor(id) { if(document.getElementById) { if(document.getElementById(id)) { document.getElementById(id).style.display = 'none'; } } } function ShowHideSektor(id) { if(document.getElementById) { if(SektorIsInvisible(id)) { ShowSektor(id); } else { HideSektor(id); } } } function ToggleNavPanel(id) { if(document.getElementById) { var pars = ""; if(SektorIsInvisible(id+'Content')) { ShowSektor(id+'Content'); pars = "visible=" + id; $(id+'Picto').src = "img/buttons-horatec/flap_down.png"; } else { HideSektor(id+'Content'); pars = "invisible=" + id; $(id+'Picto').src = "img/buttons-horatec/flap_up.png"; } var url = ClientPath + "svc/saveNavPanelState.php"; var ajRqImages = new Ajax.Request( url, { method: 'get', parameters: pars, asynchronous: true } ); } } function FillInIdField(idname, newvalue) { document.getElementById(idname).value = newvalue; } function FillInForm(formname, inputfield, value) { document.forms[formname].elements[inputfield].value = value; } function FillInParentForm(formname, inputfield, value) { window.opener.document.forms[formname].elements[inputfield].value = value; } function FillInParentIdfield(idfield,value) { window.opener.document.getElementById(idfield).value = value; } function SubmitForm(sformname) { if(typeof(sformname)=='string') document.forms[sformname].submit(); else sformname.submit(); } function OpenLink(newurl) { if(newurl.substr(0, ClientPath.length) == ClientPath) { AfterDialogAction = "self.location.href = '"+newurl+"';"; } else { AfterDialogAction = "self.location.href = '"+ClientPath+newurl+"';"; } ConfirmationDialog(); } function SetPageblock(v) { if(v) ShowSektor('pageblock'); else HideSektor('pageblock'); } // Ruft den Abfragedialog auf, der z.B. von OpenLink() und vielen anderen benutzt wird function ConfirmationDialog() { if(Changed == 1) { CenterDiv('confirmwindow'); // Ändern der BODY-CSS-Klasse SetPageblock(true); // Text setzen $('cw_text').innerHTML = 'Ihre Eingaben wurden noch nicht gespeichert. Wollen Sie dennoch fortfahren?'; HideSektor('cw_answer1'); ShowSektor('cw_answer2'); HideSektor('cw_answer3'); HideSektor('cw_answer4'); // Fenster anzeigen ShowSektor('confirmwindow'); } else { HandleConfirmationDialog(3); } } function CloseConfirmWin() { // Fenster verstecken HideSektor('confirmwindow'); // Zurücksetzen der BODY-CSS-Klasse SetPageblock(false); } // Führt die entsprechende Aktion aus, je nach Ergebnis des Abfragedialogs function HandleConfirmationDialog(result) { CloseConfirmWin(); if(result == 1) { ShowIndicator('indicator1'); Changed = 0; SubmitFormHidden(ChangedForm); eval(AfterDialogAction); } else if(result == 2) { Changed = 0; eval(AfterDialogAction); } else if(result == 3) { ShowIndicator('indicator1'); eval(AfterDialogAction); } else if(result == 4) { eval(AfterDialogActionYes); } else if(result == 5) { eval(AfterDialogActionNo); } else if(result == 6) { eval(AfterDialogActionCancel); } } function AddFav(item) { var pars = "op=add&item=" + encodeURI(item); var url = ClientPath + "svc/mngfav.php"; var ajRqImages = new Ajax.Request( url, { method: 'get', parameters: pars, asynchronous: true } ); HideSektor('optAddFav'); ShowSektor('optRemFav'); } function RemFav(item) { var pars = "op=rem&item=" + encodeURI(item); var url = ClientPath + "svc/mngfav.php"; var ajRqImages = new Ajax.Request( url, { method: 'get', parameters: pars, asynchronous: true } ); HideSektor('optRemFav'); ShowSektor('optAddFav'); } function CheckHeaddataOverwrite(row, itemFile, headFile) { var async = true; var pars = "row=" + row + "&itemfile=" + itemFile + "&headfile=" + headFile; var url = ClientPath + "svc/headdata_check.php"; if(row == -1) async = false; var ajRqImages = new Ajax.Request( url, { method: 'get', parameters: pars, asynchronous: async, onSuccess: HandleCheckHeaddata } ); } function DoHeaddataOverwrite(row, itemFile, headFile) { ShowIndicator('indicator1'); var pars = "row=" + row + "&itemfile=" + itemFile + "&headfile=" + headFile; var url = ClientPath + "svc/headdata_do.php"; var ajRqImages = new Ajax.Request( url, { method: 'get', parameters: pars, asynchronous: false, onSuccess: DoHeaddataSucc, onFailure: DoHeaddataFail } ); } function DoHeaddataSucc(request) { var values = request.responseXML.getElementsByTagName('value'); var rc = 0; var row = 0; var itemFile = ''; var headFile = ''; var msg = ''; try { rc = values[0].firstChild.nodeValue; } catch(e) { void(0); } try { row = values[1].firstChild.nodeValue; } catch(e) { void(0); } try { itemFile = values[2].firstChild.nodeValue; } catch(e) { void(0); } try { headFile = values[3].firstChild.nodeValue; } catch(e) { void(0); } try { msg = values[4].firstChild.nodeValue; } catch(e) { void(0); } HideSektor('indicator1'); if(rc == 1) { if(row == -1) { SubmitForm('artikelmaske'); } else { if(msg.length > 0) { if(msg.length > 0) msg = '

' + msg; AlertWin('Erfolgreich gespeichert!' + msg); } else { SetPageblock(false); } } } else { if(msg.length > 0) msg = '

' + msg; AlertWin('Neue Vorgaben konnte nicht gespeichert werden!' + msg); } } function DoHeaddataFail() { HideSektor('indicator1'); AlertWin('Speichern fehlgeschlagen'); } function HandleCheckHeaddata(request) { var values = request.responseXML.getElementsByTagName('value'); var dataCouldBeStoredInHead = 0; var row = 0; var itemFile = ''; var headFile = ''; var msg = ''; try { dataCouldBeStoredInHead = values[0].firstChild.nodeValue; } catch(e) { void(0); } try { row = values[1].firstChild.nodeValue; } catch(e) { void(0); } try { itemFile = values[2].firstChild.nodeValue; } catch(e) { void(0); } try { headFile = values[3].firstChild.nodeValue; } catch(e) { void(0); } try { msg = values[4].firstChild.nodeValue; } catch(e) { void(0); } if(dataCouldBeStoredInHead == 1) { if(msg.length > 0) msg = '

' + msg; if(row == -1) { EasyYesNoCancel('Sollen die geänderten Eingaben als Voreinstellung für die nächsten Artikel verwendet werden?' + msg, "DoHeaddataOverwrite(" + row + ", '" + itemFile + "', '" + headFile+ "');", "SubmitForm('artikelmaske');", "askedForHeaddata = false;"); } else { EasyConfirm('Möchten Sie Ihre Einstellung als Standard für neue Schränke aus diesem Bereich übernehmen? ' + msg, "DoHeaddataOverwrite(" + row + ", '" + itemFile + "', '" + headFile+ "');"); } } else if(msg.length > 0) { AlertWin(msg); } else if(row == -1) { SubmitForm('artikelmaske'); } } function SetChanged(frm) { }