var client = ""; var intervalId = 0; var chat = false; var seite = "rechts"; var resetAfterSave = false; var undoarray = Array(); var scalemode = 0.25; var bg_top_pos = 0; var moveAmount = 25; var data = ""; var data2 = ""; var data3 = ""; var curbreite = 0; var abmessungsinfo_links = ""; var abmessungsinfo_rechts = ""; var laenge_links = 0; var laenge_rechts = 0; tutorial_shown = true; function show3d(){ $("#A3dform").submit(); } function letternumber(e) { var key; var keychar; if (window.event) key = window.event.keyCode; else if (e) key = e.which; else return true; keychar = String.fromCharCode(key); keychar = keychar.toLowerCase(); // control keys if ((key==null) || (key==0) || (key==8) || (key==9) || (key==13) || (key==27) ) return true; // alphas and numbers else if (((" -_abcdefghijklmnopqrstuvwxyz0123456789öäüÖÄÜß").indexOf(keychar) > -1)) return true; else return false; } function onlynumber(e) { var key; var keychar; if (window.event) key = window.event.keyCode; else if (e) key = e.which; else return true; keychar = String.fromCharCode(key); keychar = keychar.toLowerCase(); // control keys if ((key==null) || (key==0) || (key==8) || (key==9) || (key==13) || (key==27) ) return true; // alphas and numbers else if ((("0123456789").indexOf(keychar) > -1)) return true; else return false; } function getMaxExtendX() { var toReturn = 0; for(p = 0; p < produkte.length; p++) { var rechteKante = parseFloat(produkte[p][1]) + parseFloat(produkte[p][3]); if(rechteKante > toReturn) { toReturn = rechteKante; } } var finalVal = (toReturn * skalierung) + 20; return finalVal; } function getMaxExtend() { var toReturn = 0; $(".konfigurator_wand_boden .konfigurator_produkt").each(function(){ var temp = parseFloat($(this).css("left")) + $(this).width(); if(temp > toReturn) { toReturn = temp; } }); var finalVal = toReturn + 50; return finalVal; } function getMaxExtendLinks() { var links = -1; var rechts = 0; $(".konfigurator_wand_boden .konfigurator_produkt").each(function(){ var temp = parseFloat($(this).css("left")); if(temp < links || links == -1) { links = temp; } var temp2 = parseFloat($(this).css("left")) + $(this).width(); if(temp2 > rechts || rechts == -1) { rechts = temp2; } }); var finalVal = (rechts - links) + 50; return finalVal; } function check_werkstattwagen_ok(whichOne) { var toReturn = false; if(produkte[whichOne][7] == "Werkstattwagen") { var linkeKante = parseFloat(produkte[whichOne][1]); var rechteKante = parseFloat(produkte[whichOne][1]) + parseFloat(produkte[whichOne][3]); if(UnterschrankLinksDavon(linkeKante) && UnterschrankRechtsDavon(rechteKante)) { toReturn = true; } } return toReturn; } function undo() { undoarray.pop(); if(undoarray.length > 0) { produkte = Array(); var ni = undoarray.length - 1; for(d = 0; d < undoarray[ni].length; d++) { for(ed = 0; ed < undoarray[ni][d].length; ed++) { if(ed == 0) { produkte[d] = Array(); } produkte[d][ed] = undoarray[ni][d][ed]; } } } redrawPlanung(true); updateProduktanzahl(); updateLabels(); } function updateSettings(whichOne,whichVal) { settings[whichOne] = whichVal; if(whichOne=="wandlaenge") { settings[whichOne] = whichVal * 1000; $(".wandbreite").text(whichVal * 1000); } /* $(".konfigurator_infobar .info_left").html("Wandlänge: " + (settings['wandlaenge']/1000).toFixed(2) + " m - Arbeitstiefe: " + settings['arbeitstiefe'] + " mm"); */ $(".label_depths").text("T " + parseInt(settings['arbeitstiefe'] + movedBy) + " mm"); var tempNumber = parseFloat(settings["wandlaenge"]) / 1000; var tstr = tempNumber.toFixed(2); tstr = tstr.replace(".",","); $("#btn_laenge_aendern .btn_label").text("Wandlänge"); } function updateArbeitstiefe() { if(settings["arbeitstiefe"] == 700) { $(".wandeinstellung_text h3").addClass("opaque"); $("#arbeitstiefe_500").removeClass("radio_arbeitstiefe_aktiv"); $("#arbeitstiefe_700").addClass("radio_arbeitstiefe_aktiv"); $("#arbeitstiefe_500_uebereck").removeClass("radio_arbeitstiefe_aktiv"); $("#arbeitstiefe_700_uebereck").addClass("radio_arbeitstiefe_aktiv"); $(".system500").removeClass("system_top_aktiv"); $(".system700").addClass("system_top_aktiv"); $("#preview_image_arbeitstiefe img").attr("src","img/preview_image_arbeitstiefe_700.png"); $("#preview_image_arbeitstiefe_uebereck img").attr("src","img/auswahl_ueber-eck_700mm.png"); $("#content").removeClass("at500"); $("#content").addClass("at700"); $(".only_500").css("display","none"); $(".only_700").css("display","block"); } if(settings["arbeitstiefe"] == 500) { $(".wandeinstellung_text h3").removeClass("opaque"); $("#arbeitstiefe_500").addClass("radio_arbeitstiefe_aktiv"); $("#arbeitstiefe_700").removeClass("radio_arbeitstiefe_aktiv"); $("#arbeitstiefe_500_uebereck").addClass("radio_arbeitstiefe_aktiv"); $("#arbeitstiefe_700_uebereck").removeClass("radio_arbeitstiefe_aktiv"); $(".system500").addClass("system_top_aktiv"); $(".system700").removeClass("system_top_aktiv"); $("#preview_image_arbeitstiefe img").attr("src","img/preview_image_arbeitstiefe_500.png"); $("#preview_image_arbeitstiefe_uebereck img").attr("src","img/auswahl_ueber-eck_500mm.png"); $("#content").removeClass("at700"); $("#content").addClass("at500"); $(".only_500").css("display","block"); $(".only_700").css("display","none"); } $(".label_depths").text("T " + parseInt(settings['arbeitstiefe'] + movedBy) + " mm"); } function getProduktliste() { var toReturn = ""; var tempArray = Array(); $(".konfigurator_interface_right .produkt").each(function(){ var tempAnzahl = parseFloat($(this).find(".anzahl").text()); if(typeof korrektur[$(this).attr("data-ean")] != "undefined") { tempAnzahl = tempAnzahl + korrektur[$(this).attr("data-ean")]; } var packungsanzahl = tempAnzahl; if(tempAnzahl > 0) { packungsanzahl = getPackungen($(this).attr("data-ean"),tempAnzahl); tempArray[tempArray.length] = $(this).attr("data-ean"); var temppreis = packungsanzahl * preise[$(this).attr("data-ean")]; var pr = String(temppreis.toFixed(2)).replace(".",","); if(pr.length == 10) { pr = pr[0] + "." + pr[1] + pr[2] + pr[3] + "." + pr.substr(4); } if(pr.length == 9) { pr = pr[0] + pr[1] + pr[2] + "." + pr.substr(3); } if(pr.length == 8) { pr = pr[0] + pr[1] + "." + pr.substr(2); } if(pr.length == 7) { pr = pr[0] + "." + pr.substr(1); } if(client == 'kea') { pr = chf_preis(temppreis); } var thtml = $(this).html(); var vpe = verpackungseinheiten[$(this).attr("data-ean")]; thtml = thtml.replace('
' + $(this).find(".anzahl").text(), '
' + packungsanzahl); var temp = '
' + thtml + '
' + pr + ' €
'; if(vpe > 1) { if(packungsanzahl == 1) { } if(packungsanzahl > 1) { } var tx2 = "Dieser Artikel wird immer im Satz geliefert! (x Stück pro VPE)."; tx2 = tx2.replace("x",vpe); temp = temp + '
' + tx2 + '
'; } temp = temp + '
'; toReturn = toReturn + temp; } }); var fn = false; for(k = 0; k < warenkorb.length; k++) { if(tempArray.indexOf(warenkorb[k][0]) < 0) { var temppreis2 = parseFloat(warenkorb[k][1]) * preise[warenkorb[k][0]]; var pr2 = String(temppreis2.toFixed(2)).replace(".",","); if(pr2.length == 8) { pr2 = pr2[0] + pr2[1] + "." + pr2.substr(2); } if(pr2.length == 7) { pr2 = pr2[0] + "." + pr2.substr(1); } if(client == 'kea') { pr2 = chf_preis(temppreis2); } $(".konfigurator_interface_right #produkt_" + warenkorb[k][0]).each(function(){ $(this).find(".anzahl").text(warenkorb[k][1]); var temp2 = '
' + $(this).html() + '
' + pr2 + ' €
'; $(this).find(".anzahl").text("0"); toReturn = toReturn + temp2; }); } } return toReturn; } function abschliessen(){ hideZulaessig(); showWarenkorb(); /* var tempanz = ($("#imwarenkorb").text().split("(")); var tempanz2 = tempanz[1].split(")"); var anz = tempanz2[0]; if(anz != "0") { // $(".zubehoerwahl").css("display","block"); $(".seitenblenden").css("display","block"); $(".blocktop").css("display","block"); } else { info_message("","Der Warenkorb ist leer."); $(".blocktop").css("display","none"); } */ } function getFormatedPreis(ean,anzahl) { var temppreis = anzahl * preise[ean]; var pr = String(temppreis.toFixed(2)).replace(".",","); if(pr.length == 8) { pr = pr[0] + pr[1] + "." + pr.substr(2); } if(pr.length == 7) { pr = pr[0] + "." + pr.substr(1); } for(k = 0; k < warenkorb.length; k++) { if(warenkorb[k][0] == ean) { warenkorb[k][1] = anzahl; } } updateWarenkorbanzahl(); if(client == 'kea') { pr = chf_preis(temppreis); } return pr + " €"; } function showWarenkorb() { currentlyDragging = false; neuekomponente = ""; hideZulaessig(); // var mh = parseFloat(settings["wandlaenge"] / 1000) * (-0.867) + 24.333; var tempanz = ($("#imwarenkorb").text().split("(")); var tempanz2 = tempanz[1].split(")"); var anz = tempanz2[0]; if(anz != "0") { $("#wk").css("display","block"); $(".blocktop").css("display","none"); var liste = getProduktliste(); $(".wk_liste").html(liste); $(".wk_liste .draghandle").each(function(){ $(this).removeClass("draghandle"); }); $(".wk_inner .konfigurator_produkt_holder").remove(); $(".wk_inner .minreached").each(function(){ $(this).removeClass("minreached"); }); $(".wk_inner .minus").click(function(){ if(typeof korrektur[$(this).parent().parent().parent().attr("data-ean")] !== 'undefined') { korrektur[$(this).parent().parent().parent().attr("data-ean")] = korrektur[$(this).parent().parent().parent().attr("data-ean")] -1; } else { korrektur[$(this).parent().parent().parent().attr("data-ean")] = -1; } var anzahlneu = parseInt($(this).parent().find(".anzahl").text()) - 1; if(anzahlneu < 0) { anzahlneu = 0; } $(this).parent().find(".anzahl").text(anzahlneu); $(this).parent().parent().parent().find(".produktgesamtpreis").text(getFormatedPreis($(this).parent().parent().parent().attr("data-ean"), anzahlneu)); redrawPlanung(); $(".wk_abschluss_rechts").html($(".abschluss .preis").text() + "
UVP | zzg. MwSt"); }); $(".wk_inner .plus").click(function(){ if(typeof korrektur[$(this).parent().parent().parent().attr("data-ean")] !== 'undefined') { korrektur[$(this).parent().parent().parent().attr("data-ean")] = korrektur[$(this).parent().parent().parent().attr("data-ean")] +1; } else { korrektur[$(this).parent().parent().parent().attr("data-ean")] = 1; } var anzahlneu = parseInt($(this).parent().find(".anzahl").text()) + 1; $(this).parent().find(".anzahl").text(anzahlneu); $(this).parent().parent().parent().find(".produktgesamtpreis").text(getFormatedPreis($(this).parent().parent().parent().attr("data-ean"), anzahlneu)); redrawPlanung(); $(".wk_abschluss_rechts").html($(".abschluss .preis").text() + "
UVP | zzg. MwSt"); }); $("#wk_anzahl").text(anz); var seite_vorher = seite; fillPreviewImage("wk_preview_image","rechts"); if(ueber_eck == true) { seite = "links"; nach_wechsel(); vorherige = settings['wandlaenge']; aendereLinkeWandLaenge(curbreite); redrawPlanung(); fillPreviewImage("wk_preview_image_2","links"); aendereLinkeWandLaenge(vorherige); settings['wandlaenge'] = vorherige; seite = seite_vorher; nach_wechsel(); } else { $(".preview_description_links").css("display","none"); $(".wk_preview_image_holder_2").css("display","none"); $(".preview_description_rechts").text(""); } $(".wk_abschluss_rechts").html($(".abschluss .preis").text() + "
UVP | zzg. MwSt"); } else { info_message("","Der Warenkorb ist leer."); } drawTopDown("mail"); } function fillPreviewImage(whichOne,whichSeite) { seite = whichSeite; $("#wandlaenge").val($("#wandlaenge_" + seite).val()); var wl = Math.round(parseFloat($("#wandlaenge").val())*100)/100; $("#wandlaenge").val(wl); updateSettings("wandlaenge",wl); var mw = $(".main_content").width(); var ml = (mw - 420 - 30 - (settings['wandlaenge'] * skalierung)) / 2 + 30; if(ml < 100) { ml = 100; } $(".konfigurator_wand").css("margin-left",ml + "px"); $(".main_content").css("background-position","top 0 left " + (ml-13) + "px"); $(".konfigurator_wand").width(parseFloat(settings["wandlaenge"] * skalierung) + "px"); arrange(); redrawPlanung(); var linkeSeiteWandlaenge = -1; var scalefactor = 3; $(".konfigurator_wand").css("background-color","rgba(255,255,255,0)"); $(".konfigurator_wand").css("border-left","0"); $(".konfigurator_wand").css("border-right","0"); $(".konfigurator_wand").css("padding-left","10px"); $(".gut_holder").css("margin-top","5000px"); $(".hinweis_eckschrank_icon").css("display","none"); $(".gestrichelte_linie").css("display","none"); var moveUp = 0; if($(".display_eckschrank").length > 0) { moveUp = parseFloat($(".display_eckschrank").css("bottom")) * (-1) + 1; $(".konfigurator_wand_boden").css("bottom",moveUp + "px"); $(".konfigurator_wand").height($(".konfigurator_wand").height + moveUp); } $("#" + whichOne).attr("src",""); mywidth = getMaxExtend(); $(".containment").css("width","0%"); $(".konfigurator_wand").css("padding-top","10px"); html2canvas($(".konfigurator_wand")[0],{ width:mywidth, scale:scalefactor, allowTaint: false, backgroundColor: "rgba(0,0,0,0)", removeContainer: true, logging: false, }).then(function(canvas) { if(moveUp != 0) { $(".konfigurator_wand_boden").css("bottom","0px"); $(".konfigurator_wand").height($(".konfigurator_wand").height - moveUp); } $(".containment").css("width","100%"); $(".konfigurator_wand").css("background-color","rgba(255,255,255,0.5)"); $(".konfigurator_wand").css("border-left","1px solid #df0029;"); $(".konfigurator_wand").css("border-right","1px solid #df0029;"); $(".konfigurator_wand").css("padding-left","0"); $(".gut_holder").css("margin-top","0px"); $(".hinweis_eckschrank_icon").css("display","inherit"); $(".gestrichelte_linie").css("display","inherit"); var datatemp = canvas.toDataURL('image/png'); $("#" + whichOne).attr("src",datatemp); var maxBildhoehe = 200; var maxBildbreite = 355; var bsv = 500 / 385; var mh = 0; if(canvas.height / canvas.width < bsv) { $("#" + whichOne).css("max-width",maxBildbreite + "px"); $("#" + whichOne).css("height","auto"); mh = maxBildbreite * canvas.height / canvas.width; } else { $("#" + whichOne).css("width","auto"); $("#" + whichOne).css("max-height",maxBildhoehe + "px"); mh = maxBildhoehe; } $("#" + whichOne).parent().css("height",(mh + 50) + "px"); if(whichOne == "wk_preview_image_2") { html2canvas($(".wk_preview_image_holder_2")[0],{ width:600, scale:1.2, allowTaint: false, backgroundColor: "rgba(0,0,0,0)", removeContainer: true, logging: false, }).then(function(canvas2) { data2 = canvas2.toDataURL('image/png'); }); } else { html2canvas($(".wk_preview_image_holder_1")[0],{ width:600, scale:1.2, allowTaint: false, backgroundColor: "rgba(0,0,0,0)", removeContainer: true, logging: false, }).then(function(canvas4) { data = canvas4.toDataURL('image/png'); }); } }) $(".konfigurator_wand").css("padding-top","0"); } function info_message(title,msg){ $.alert({ boxWidth: '30%', useBootstrap: false, title: title, content: msg, }); } function drawPunkte(punkte,startx,starty,ctx,sf) { for(n = 0; n < punkte.length; n = n + 2) { var px = (punkte[n]) * sf + startx; var py = (punkte[n+1]) * sf + starty; if(px < 0) { px = 0; } if(py < 0) { py = 0; } if(n == 0) { ctx.moveTo(px, py); } else { ctx.lineTo(px, py); } } } function drawTopDown(whichOne) { var col_1 = "#fff"; var col_2 = "#000"; var canvas_id = "topdown"; if(whichOne == "mail") { col_1 = "#000"; col_2 = "#000"; canvas_id = "topdownwhite"; $(".mail_topdown_holder").css("display","block"); } var canvas = document.getElementById(canvas_id); if (canvas.getContext && $(".nue").length == 0) { var ctx = canvas.getContext('2d'); ctx.clearRect(0, 0, canvas.width, canvas.height); var startx = 100; var starty = 100; var punkte = Array(); var sf = 1; var ext_links = 0; var ext_rechts = 0; var av_w = canvas.width - 200; var av_h = canvas.height - 200; for(p = 0; p < produkte.length; p++) { if(produkte[p][8] == "rechts") { rechteKante = parseFloat(produkte[p][1]) + parseFloat(produkte[p][3]); if(ext_rechts < rechteKante) { ext_rechts = rechteKante; } } } var linke_wandlaenge = (parseFloat($("#wandlaenge_links").val().replace(",",".")) * 1000); ext_links = -1; for(p = 0; p < produkte.length; p++) { if(produkte[p][8] == "links") { linkeKante = parseFloat(produkte[p][1]); if(ext_links > linkeKante || ext_links == -1) { ext_links = linkeKante; } } } if(ext_links == -1) { ext_links = 1100; } else { ext_links = linke_wandlaenge - ext_links; } if(ext_rechts < 1100) { ext_rechts = 1100; } sf = av_w / ext_rechts; if((av_h / ext_links) < sf) { sf = av_h / ext_links; startx = canvas.width / 2 - ((ext_rechts * sf) / 2); } if(settings["arbeitstiefe"] == 500) { punkte = Array( movedBy + 0,movedBy + 0, movedBy + 883,movedBy + 0, movedBy + 883,movedBy + 500, movedBy + 500,movedBy + 883, movedBy + 0,movedBy + 883, movedBy + 0,movedBy + 0 ); punkte2 = Array( movedBy + 883 + 50 + 37 - 3.5 / sf,movedBy + 500 + 50 + 37 - 3.5 / sf, movedBy + 883 + 50 + 37 + 3.5 / sf,movedBy + 500 + 50 + 37 + 3.5 / sf, ); punkte3 = Array( movedBy + 500 + 50 + 37 - 3.5 / sf,movedBy + 883 + 50 + 37 - 3.5 / sf, movedBy + 500 + 50 + 37 + 3.5 / sf,movedBy + 883 + 50 + 37 + 3.5 / sf, ); punkte4 = Array( movedBy + 883 + 50 + 37,movedBy + 500 + 50 + 37, movedBy + 500 + 50 + 37,movedBy + 883 + 50 + 37, ); ctx.font = "12px Arial"; ctx.fillStyle = col_1; ctx.textAlign = "left"; ctx.strokeStyle = col_1; ctx.fillText("540 mm", 850 * sf + startx, 850 * sf + starty + 6); } else { punkte = Array( movedBy + 0,movedBy + 0, movedBy + 1083,movedBy + 0, movedBy + 1083,movedBy + 700, movedBy + 700,movedBy + 1083, movedBy + 0,movedBy + 1083, movedBy + 0,movedBy + 0 ); punkte2 = Array( movedBy + 1083 + 50 + 37 - 3.5 / sf,movedBy + 700 + 50 + 37 - 3.5 / sf, movedBy + 1083 + 50 + 37 + 3.5 / sf,movedBy + 700 + 50 + 37 + 3.5 / sf, ); punkte3 = Array( movedBy + 700 + 50 + 37 - 3.5 / sf,movedBy + 1083 + 50 + 37 - 3.5 / sf, movedBy + 700 + 50 + 37 + 3.5 / sf,movedBy + 1083 + 50 + 37 + 3.5 / sf, ); punkte4 = Array( movedBy + 1083 + 50 + 37,movedBy + 700 + 50 + 37, movedBy + 700 + 50 + 37,movedBy + 1083 + 50 + 37, ); ctx.font = "12px Arial"; ctx.fillStyle = col_1; ctx.textAlign = "left"; ctx.strokeStyle = col_1; ctx.fillText("540 mm", 1050 * sf + startx, 1050 * sf + starty + 6); } ctx.strokeStyle = col_1; ctx.fillStyle = col_2; ctx.beginPath(); drawPunkte(punkte,startx,starty,ctx,sf); drawPunkte(punkte2,startx,starty,ctx,sf); drawPunkte(punkte3,startx,starty,ctx,sf); drawPunkte(punkte4,startx,starty,ctx,sf); ctx.closePath(); ctx.fill(); ctx.stroke(); var p_h = settings['arbeitstiefe']; var maxw = 883; var maxh = 883; if(p_h == 700) { maxw = 1083; maxh = 1083; } for(k = 0; k < produkte.length; k++) { if(produkte[k][7] == "Unterschrank" || produkte[k][7] == "Werkstattwagen" || produkte[k][7] == "Hochschrank" || produkte[k][7] == "Stützen") { if(produkte[k][5] != "4047728054904") { var p_x = parseFloat(produkte[k][1]); var p_w = parseFloat(produkte[k][3]); if(produkte[k][8] == "rechts") { punkte = Array( p_x,movedBy, p_x + p_w,movedBy, p_x + p_w,p_h + movedBy, p_x, p_h + movedBy, p_x,movedBy ); if((p_x + p_w) > maxw) { maxw = p_x + p_w; } } else { p_x = (parseFloat($("#wandlaenge_links").val().replace(",",".")) * 1000) - p_x - p_w; punkte = Array( movedBy,p_x, movedBy + p_h,p_x, movedBy + p_h,p_x + p_w, movedBy,p_x + p_w, movedBy,p_x ); if((p_x + p_w) > maxh) { maxh = p_x + p_w; } } ctx.strokeStyle = col_1; ctx.beginPath(); drawPunkte(punkte,startx,starty,ctx,sf); ctx.closePath(); ctx.stroke(); } } } maxw = maxw + movedBy; punkte = Array( 0,0, maxw,0 ); punkte2 = Array( 0,-5 / sf, 0,5 / sf ); punkte3 = Array( maxw,-5 / sf, maxw,5 / sf ); ctx.strokeStyle = col_1; ctx.beginPath(); drawPunkte(punkte,startx,starty - 10,ctx,sf); drawPunkte(punkte2,startx,starty - 10,ctx,sf); drawPunkte(punkte3,startx,starty - 10,ctx,sf); ctx.closePath(); ctx.stroke(); ctx.font = "12px Arial"; ctx.fillStyle = col_1; ctx.textAlign = "center"; ctx.strokeStyle = col_1; ctx.fillText(maxw + " mm", (maxw * sf / 2) + startx, starty -16); maxh = maxh + movedBy; punkte = Array( 0,0, 0,maxh ); punkte2 = Array( -5 / sf,0, 5 / sf,0 ); punkte3 = Array( -5 / sf,maxh, 5 / sf,maxh ); ctx.strokeStyle = col_1; ctx.beginPath(); drawPunkte(punkte,startx - 10,starty,ctx,sf); drawPunkte(punkte2,startx - 10,starty,ctx,sf); drawPunkte(punkte3,startx - 10,starty,ctx,sf); ctx.closePath(); ctx.stroke(); ctx.font = "12px Arial"; ctx.fillStyle = col_1; ctx.textAlign = "right"; ctx.strokeStyle = col_1; ctx.fillText(maxh + " mm", startx - 16, (maxh * sf / 2) + starty); var tiefe = settings['arbeitstiefe'] + movedBy; punkte = Array( 0,maxh, tiefe,maxh ); punkte2 = Array( 0, maxh - (5 / sf), 0, maxh + (5 / sf), ); punkte3 = Array( tiefe, maxh - (5 / sf), tiefe, maxh + (5 / sf), ); ctx.strokeStyle = col_1; ctx.beginPath(); drawPunkte(punkte,startx,starty + 10,ctx,sf); drawPunkte(punkte2,startx,starty + 10,ctx,sf); drawPunkte(punkte3,startx,starty + 10,ctx,sf); ctx.closePath(); ctx.stroke(); ctx.font = "12px Arial"; ctx.fillStyle = col_1; ctx.textAlign = "center"; ctx.strokeStyle = col_1; ctx.fillText(tiefe + " mm", (tiefe / 2) * sf + startx, (maxh * sf) + starty + 30); punkte = Array( maxw,0, maxw,tiefe ); punkte2 = Array( maxw - (5 / sf),0, maxw + (5 / sf),0 ); punkte3 = Array( maxw - (5 / sf),tiefe, maxw + (5 / sf),tiefe ); ctx.strokeStyle = col_1; ctx.beginPath(); drawPunkte(punkte,startx + 10,starty,ctx,sf); drawPunkte(punkte2,startx + 10,starty,ctx,sf); drawPunkte(punkte3,startx + 10,starty,ctx,sf); ctx.closePath(); ctx.stroke(); ctx.font = "12px Arial"; ctx.fillStyle = col_1; ctx.textAlign = "left"; ctx.strokeStyle = col_1; ctx.fillText(tiefe + " mm", maxw * sf + startx + 20, (tiefe / 2 * sf) + starty); if(whichOne == "mail") { data3 = canvas.toDataURL('image/png'); $(".mail_topdown_holder").css("display","none"); } } if (canvas.getContext && $(".nue").length == 1) { var ctx = canvas.getContext('2d'); ctx.clearRect(0, 0, canvas.width, canvas.height); var startx = 100; var starty = 100; var punkte = Array(); var sf = 1; var ext_links = 0; var ext_rechts = 0; var av_w = canvas.width - 200; var av_h = canvas.height - 200; for(p = 0; p < produkte.length; p++) { if(produkte[p][8] == "rechts") { rechteKante = parseFloat(produkte[p][1]) + parseFloat(produkte[p][3]); if(ext_rechts < rechteKante) { ext_rechts = rechteKante; } } } var linke_wandlaenge = (parseFloat($("#wandlaenge_links").val().replace(",",".")) * 1000); ext_links = -1; for(p = 0; p < produkte.length; p++) { if(produkte[p][8] == "links") { linkeKante = parseFloat(produkte[p][1]); if(ext_links > linkeKante || ext_links == -1) { ext_links = linkeKante; } } } if(ext_links == -1) { ext_links = 1100; } else { ext_links = linke_wandlaenge - ext_links; } if(ext_rechts < 1100) { ext_rechts = 1100; } sf = av_w / ext_rechts; if((av_h / ext_links) < sf) { sf = av_h / ext_links; startx = canvas.width / 2 - ((ext_rechts * sf) / 2); } var p_h = settings['arbeitstiefe']; var maxw = 0; var maxh = 500; if(p_h == 700) { maxw = 0; maxh = 700; } for(k = 0; k < produkte.length; k++) { if(produkte[k][7] == "Unterschrank" || produkte[k][7] == "Werkstattwagen" || produkte[k][7] == "Hochschrank" || produkte[k][7] == "Stützen") { if(produkte[k][5] != "4047728054904") { var p_x = parseFloat(produkte[k][1]); var p_w = parseFloat(produkte[k][3]); if(produkte[k][8] == "rechts") { punkte = Array( p_x,movedBy, p_x + p_w,movedBy, p_x + p_w,p_h + movedBy, p_x, p_h + movedBy, p_x,movedBy ); if((p_x + p_w) > maxw) { maxw = Math.round(p_x + p_w); } } else { p_x = (parseFloat($("#wandlaenge_links").val().replace(",",".")) * 1000) - p_x - p_w; punkte = Array( movedBy,p_x, movedBy + p_h,p_x, movedBy + p_h,p_x + p_w, movedBy,p_x + p_w, movedBy,p_x ); if((p_x + p_w) > maxh) { maxh = p_x + p_w; } } ctx.strokeStyle = col_1; ctx.beginPath(); drawPunkte(punkte,startx,starty,ctx,sf); ctx.closePath(); ctx.stroke(); } } } maxw = maxw + movedBy; punkte = Array( 0,0, maxw,0 ); punkte2 = Array( 0,-5 / sf, 0,5 / sf ); punkte3 = Array( maxw,-5 / sf, maxw,5 / sf ); ctx.strokeStyle = col_1; ctx.beginPath(); drawPunkte(punkte,startx,starty - 10,ctx,sf); drawPunkte(punkte2,startx,starty - 10,ctx,sf); drawPunkte(punkte3,startx,starty - 10,ctx,sf); ctx.closePath(); ctx.stroke(); ctx.font = "12px Arial"; ctx.fillStyle = col_1; ctx.textAlign = "center"; ctx.strokeStyle = col_1; ctx.fillText(maxw + " mm", (maxw * sf / 2) + startx, starty -16); maxh = maxh + movedBy; punkte = Array( 0,0, 0,maxh ); punkte2 = Array( -5 / sf,0, 5 / sf,0 ); punkte3 = Array( -5 / sf,maxh, 5 / sf,maxh ); ctx.strokeStyle = col_1; ctx.beginPath(); drawPunkte(punkte,startx - 10,starty,ctx,sf); drawPunkte(punkte2,startx - 10,starty,ctx,sf); drawPunkte(punkte3,startx - 10,starty,ctx,sf); ctx.closePath(); ctx.stroke(); ctx.font = "12px Arial"; ctx.fillStyle = col_1; ctx.textAlign = "right"; ctx.strokeStyle = col_1; ctx.fillText(maxh + " mm", startx - 16, (maxh * sf / 2) + starty); if(whichOne == "mail") { data3 = canvas.toDataURL('image/png'); $(".mail_topdown_holder").css("display","none"); } } } var zoom; function showZoom(whichOne) { var myid = whichOne.parent().attr("id"); var an = $("#" + myid).find(".produktno").text(); var im = $("#" + myid).find("img").attr("src"); var mytitle = whichOne.parent().find(".produktbezeichnung").text(); zoom = $.dialog({ boxWidth: '600px', title: "", useBootstrap: false, content: 'url:zoom_view.php?p=' + myid + "&an=" + an + "&im=" + im, onContentReady: function () { var self = this; }, backgroundDismiss: true, buttons:{ }, }); } function showImage(url) { url = url.replace("preview","zoom"); $.dialog({ boxWidth: '360px', useBootstrap: false, title: "", content: '
', backgroundDismiss: true, buttons:{ }, }); } function getFreeSpace(w,h,unten,ignore,start_links,smaller_than = -1) { var maxpos = settings['wandlaenge'] - w; var links = -1; var nocollision = false; var return_links = 100000.0; if(ueber_eck == true) { $(".display_eckschrank").each(function(){ var linkeKante = parseFloat($(this).attr("data-x")); var rechteKante = parseFloat($(this).attr("data-x")) + parseFloat($(this).attr("data-planung-w")); if(seite == "rechts") { links = rechteKante; if(start_links < links) { start_links = links; } } if(seite == "links") { maxpos = linkeKante; } }); } var v = 0; if(ueber_eck == false || seite == "rechts") { for(v = 0; v < bevorzugte.length; v++) { links = bevorzugte[v][0]; if(links >= start_links) { nocollision = positionFrei(ignore,links,unten,w,h); if(nocollision == true) { if(parseFloat(links) < parseFloat(return_links)) { return_links = parseFloat(links); } } } } } else { for(v = 0; v < bevorzugte.length; v++) { links = bevorzugte[v][0]; if(links <= start_links) { nocollision = positionFrei(ignore,links,unten,w,h); if(nocollision == true) { if(parseFloat(links) > parseFloat(return_links)) { if(parseFloat(links) < smaller_than || smaller_than == -1) { return_links = parseFloat(links); } } } } } } if(return_links < 100000.0) { return return_links; } var ret = -1; for(links = start_links; links < maxpos; links = links + 1) { nocollision = positionFrei(ignore,links,unten,w,h) if(nocollision == true) { if(ueber_eck == false || seite == "rechts") { return links; break; } else { if(parseFloat(links) < smaller_than || smaller_than == -1) { ret = links; } } } } return ret; } function seitenblenden_hinweis() { if(settings['seitenblenden'] == true) { if(hinweis_seitenblende_gezeigt == false) { $.alert({ boxWidth: '30%', useBootstrap: false, title: "Hinweis", content: "Benötigte Seitenblenden für Hoch- und Unterschänke werden automatisch zu Deiner Planung hinzugefügt.

Du kannst diese bei Bedarf über den Schalter \"Seitenblenden\" unterhalb der Planung deaktivieren.", }); } hinweis_seitenblende_gezeigt = true; } } var currentlyDragging = false; function hideZulaessig() { if(currentlyDragging == false && neuekomponente == "") { $(".zulaessig").css("display","none"); $(".zulaessig").css("width","0"); } } var unzulaessige = Array(); var bevorzugte = Array(); function showZulaessig(ean) { // Math.ceil(parseFloat(produkte[p][3] * skalierung) +1) var rmitte_anzeigen = false; var rfound = false; var rmontagehoehen = Array(); var rhoehe = 0; var rbreite = 0; var rkategorie = ""; unzulaessige = Array(); bevorzugte = Array(); $(".produkt").each(function(){ if($(this).attr("data-ean") == ean) { rmontagehoehen = $(this).attr("data-planung-montagehoehe").split(","); rbreite = parseFloat($(this).attr("data-planung-w")); rhoehe = parseFloat($(this).attr("data-planung-h")); rkategorie = $(this).attr("data-kategorien"); if(rhoehe > 1) { rfound = true; } } }); if(rfound == true) { $(".zulaessig").css("bottom",parseFloat(parseFloat(rmontagehoehen[0]) * skalierung)); $(".zulaessig").css("height",parseFloat((rhoehe * rmontagehoehen.length) * skalierung) + "px"); if(rmontagehoehen.length > 1) { $(".zulaessig_middle").css("display","block"); $(".zulaessig_middle").css("bottom",parseFloat(rhoehe * skalierung) + "px"); } else { $(".zulaessig_middle").css("display","none"); } $(".zulaessig").css("display","block"); $(".zulaessig").css("width","100%"); var unzu = ""; var gut = ""; if(rkategorie == "Lochwand" || rkategorie == "Haengeschrank" || rkategorie == "Arbeitsplatte") { var stuetzunterschraenke_beruecksichtigt = Array(); $(".konfigurator_wand_boden .konfigurator_produkt").each(function(){ var werkstattwagen_ok = check_werkstattwagen_ok($(this).attr("data-array-id")); var linkeKante = parseFloat($(this).attr("data-x")); var rechteKante = parseFloat($(this).attr("data-x")) + parseFloat($(this).attr("data-planung-w")); if($(this).attr("data-kategorien") == "Unterschrank" || werkstattwagen_ok == true) { var checkbreite = parseFloat($(this).attr("data-planung-w")); var combi = "no"; if($(this).attr("data-kategorien") == "Unterschrank" && checkbreite == 676) { for(h = 0; h < produkte.length; h++) { if(produkte[h][7] == "Stützen" && parseFloat(produkte[h][3]) == 185) { if(rechteKante == parseFloat(produkte[h][1])) { combi = "links"; checkbreite = 861; stuetzunterschraenke_beruecksichtigt[stuetzunterschraenke_beruecksichtigt.length] = parseFloat(produkte[h][1]); } if(linkeKante == parseFloat(parseFloat(produkte[h][1]) + 185)) { combi = "rechts"; checkbreite = 861; stuetzunterschraenke_beruecksichtigt[stuetzunterschraenke_beruecksichtigt.length] = parseFloat(produkte[h][1]); } } } } if((checkbreite != rbreite || $(this).hasClass("display_eckschrank")==true) && (rkategorie != "Arbeitsplatte")) { if(combi == "no") { unzu = unzu + '
'; unzulaessige[unzulaessige.length] = Array($(this).attr("data-x"), $(this).attr("data-planung-w")); } if(combi == "rechts") { ll = parseFloat($(this).css("left")) - ($(this).width() / 676 * 185); unzu = unzu + '
'; unzulaessige[unzulaessige.length] = Array(parseFloat($(this).attr("data-x")) - 185, 861); } if(combi == "links") { unzu = unzu + '
'; unzulaessige[unzulaessige.length] = Array($(this).attr("data-x"), $(this).attr("data-planung-w")); } } else { if(combi == "no") { gut = gut + '
'; bevorzugte[bevorzugte.length] = Array($(this).attr("data-x"), $(this).attr("data-planung-w")); } if(combi == "rechts") { ll = parseFloat($(this).css("left")) - ($(this).width() / 676 * 185); gut = gut + '
'; bevorzugte[bevorzugte.length] = Array(parseFloat($(this).attr("data-x")) - 185, $(this).attr("data-planung-w")); } if(combi == "links") { gut = gut + '
'; bevorzugte[bevorzugte.length] = Array($(this).attr("data-x"), $(this).attr("data-planung-w")); } } } if($(this).attr("data-kategorien") == "Stützen" && (stuetzunterschraenke_beruecksichtigt.indexOf(parseFloat($(this).attr("data-x"))) < 0)) { var linksok = false; var rechtsok = false; var linkeseite_links = -1; var linkeseite_rechts = -1; var rechteseite_links = -1; var rechteseite_rechts = -1; linkeKante = parseFloat($(this).attr("data-x")) + rbreite; rechteKante = parseFloat($(this).attr("data-x")) + parseFloat($(this).attr("data-planung-w")) - rbreite; linkeseite_rechts = parseFloat($(this).css("left")) + parseFloat($(this).css("width")); rechteseite_links = parseFloat($(this).css("left")); $(".konfigurator_wand_boden .konfigurator_produkt").each(function(){ if($(this).attr("data-kategorien") == "Unterschrank") { var comprechts = parseFloat($(this).attr("data-x")); var complinks = parseFloat($(this).attr("data-x")) + parseFloat($(this).attr("data-planung-w")); if(complinks == rechteKante) { linksok = true; linkeseite_links = parseFloat($(this).css("left")) + parseFloat($(this).css("width")); } if(comprechts == linkeKante) { rechtsok = true; rechteseite_rechts = parseFloat($(this).css("left")); } } }); if(linksok == true) { gut = gut + '
'; bevorzugte[bevorzugte.length] = Array(rechteKante, rbreite); } if(rechtsok == true) { gut = gut + '
'; bevorzugte[bevorzugte.length] = Array((linkeKante - rbreite), rbreite); } } }); } if(rkategorie == "Unterschrank") { $(".konfigurator_wand_boden .konfigurator_produkt").each(function(){ if($(this).attr("data-kategorien") == "Haengeschrank" || $(this).attr("data-kategorien") == "Lochwand" ) { if(parseFloat($(this).attr("data-planung-w")) != rbreite) { unzu = unzu + '
'; unzulaessige[unzulaessige.length] = Array($(this).attr("data-x"), $(this).attr("data-planung-w")); } else { gut = gut + '
'; bevorzugte[bevorzugte.length] = Array($(this).attr("data-x"), $(this).attr("data-planung-w")); } } }); } $(".unzulaessig_holder").html(unzu); $(".gut_holder").html(gut); } else { hideZulaessig(); } } function streben_hinweis() { if(neuekomponente == "") { if(settings['streben'] == true) { if(hinweis_streben_gezeigt == false) { $.alert({ boxWidth: '30%', useBootstrap: false, title: "Hinweis", content: "Die Lochwand-Träger werden automatisch hinzugefügt.
Über den Schalter kannst Du sie einfach ausblenden und aus dem Warenkorb entfernen.", }); $(".streben_icon").each(function(){ $(this).css("animation-name","pfeilgroesse"); }); } hinweis_streben_gezeigt = true; } } } function hideNavigatorHinweis() { $(".navigator_hinweis").remove(); $(".scrubber").css("animation-name","none"); } function lochblechOberhalb(pos) { var ignore = -1; if(neuekomponente != "") { ignore = produkte.length - 1; } toReturn = false; if(ignore != p) { for(p = 0; p < produkte.length; p++) { if(produkte[p][7] == "Lochwand") { if(parseFloat(produkte[p][1]) <= pos && (parseFloat(produkte[p][1]) + parseFloat(produkte[p][3])) >= pos) { toReturn = true; } } } } return toReturn; } function UnterschrankLinksDavon(pos) { toReturn = false; for(p = 0; p < produkte.length; p++) { if(produkte[p][7] == "Unterschrank") { if((parseFloat(produkte[p][1]) + parseFloat(produkte[p][3])) == pos) { toReturn = true; } } } return toReturn; } function UnterschrankRechtsDavon(pos) { toReturn = false; for(p = 0; p < produkte.length; p++) { if(produkte[p][7] == "Unterschrank") { if((parseFloat(produkte[p][1])) == pos) { toReturn = true; } } } return toReturn; } function lochblechLinksDavon(pos) { var ignore = -1; if(neuekomponente != "") { ignore = produkte.length - 1; } toReturn = false; for(p = 0; p < produkte.length; p++) { if(p != ignore && produkte[p][8] == seite) { if(produkte[p][7] == "Lochwand" || produkte[p][5] == "4047728083065") { if((parseFloat(produkte[p][1]) + parseFloat(produkte[p][3])) == pos) { toReturn = true; } } } } return toReturn; } function lochblechRechtsDavon(pos) { var ignore = -1; if(neuekomponente != "") { ignore = produkte.length - 1; } toReturn = false; for(p = 0; p < produkte.length; p++) { if(p != ignore) { if((produkte[p][7] == "Lochwand" || produkte[p][5] == "4047728083065") && produkte[p][8] == seite) { if((parseFloat(produkte[p][1])) == pos) { toReturn = true; } } } } return toReturn; } var warenkorb = Array(); function getPackungen(ean,anzahl){ var vpe = verpackungseinheiten[ean]; var packungen = Math.ceil(anzahl / vpe); return packungen; } function updateWarenkorbanzahl() { var ges = 0; for(k = 0; k < warenkorb.length; k++) { ges = ges + getPackungen(warenkorb[k][0],warenkorb[k][1]); } $("#imwarenkorb").html("

Warenkorb (" + ges + ")

"); } function inDenWarenkorb(whichOne,anzahl) { if(anzahl > 0) { var found = false; for(k = 0; k < warenkorb.length; k++) { if(warenkorb[k][0] == whichOne) { warenkorb[k][1] = warenkorb[k][1] + anzahl; found = true; } } if(found == false) { warenkorb[warenkorb.length] = Array(whichOne,anzahl); } } updateWarenkorbanzahl(); } function getKategorieByEAN(cean){ return $(".konfigurator_dropdown_produkte #produkt_" + cean).attr("data-kategorien"); } function enterFullscreen(element) { try { if(element.requestFullscreen) { element.requestFullscreen(); } else if(element.msRequestFullscreen) { element.msRequestFullscreen(); } else if(element.webkitRequestFullscreen) { element.webkitRequestFullscreen(); } } catch(err) { } redrawPlanung(); } function exitFullscreen() { try { if(document.exitFullscreen) { document.exitFullscreen(); } else if(document.webkitExitFullscreen) { document.webkitExitFullscreen(); } } catch(err){ } } function addEckschrank() { if(ueber_eck == true) { var eckschrankindex = -1; for(k = 0; k < produkte.length; k++) { if(produkte[k][5] == "4047728054904") { eckschrankindex = k; } } if(eckschrankindex < 0) { var whichOne = "4047728054904"; var ts = Math.round(1 + new Date()/1000) + Math.floor(Math.random() * Math.floor(1000)); var new_produkt = $("#produkt_" + whichOne).find(".konfigurator_produkt_holder").html(); var produkt_id = "p_" + ts; if(new_produkt.indexOf('data-planung-w')>-1) { new_produkt = new_produkt.replace('data-planung-w=','id="' + produkt_id + '" data-planung-w='); } new_produkt = new_produkt.replace('class="konfigurator_produkt', 'class="konfigurator_produkt display_eckschrank fixed_produkt display_eckschrank_rechts'); var w = 883; var h = 953 + 71.5; var currentY = -71.5; var andere_seite = "links"; if(seite == "links") { andere_seite = "rechts"; } new_produkt = new_produkt.replace('produkte/front/v6000-011.png', 'img/eckschrank_' + settings['arbeitstiefe'] + '_' + andere_seite + '.png'); if(settings['arbeitstiefe'] == 700) { w = w + 200; new_produkt = new_produkt.replace('data-planung-w="883"', 'data-planung-w="1083"'); new_produkt = new_produkt.replace('inklusiveabstand_w="883"', 'inklusiveabstand_w="1083"'); new_produkt = new_produkt.replace('883 mm', '1083 mm'); } var current_position = getEckschrankPosition(); var moved_position = getMovedPosition(current_position); var standard_position = getStandardPosition(current_position); produkte[produkte.length] = Array(produkt_id,current_position,currentY,w,h,whichOne,new_produkt,$("#produkt_" + whichOne).attr("data-kategorien"),seite,standard_position,moved_position,-1); } } } function getEckschrankPosition() { var toReturn = movedBy; if(seite == "links") { var eckschrankindex = -1; for(k = 0; k < produkte.length; k++) { if(produkte[k][5] == "4047728054904") { eckschrankindex = k; } } if(eckschrankindex >= 0) { toReturn = settings['wandlaenge'] - produkte[eckschrankindex][3] - movedBy; } } return toReturn; } function eckschrankEinstellungenUebernehmen() { } function eckschrankEinstellungenHolen() { var eckunterschrank_lochwandplatten = 0; var eckunterschrank_haengeschrank = 0; var eckunterschrank_arbeitsplatte = "none"; // 0: keine, 1: Holz, 2: Edelstahl $("#eck_arbeitsplatte_ohne").addClass("radio_arbeitstiefe_aktiv"); for(p = 0; p < produkte.length; p++) { if(produkte[p][5] == "4047728075022" || produkte[p][5] == "4047728073202") { eckunterschrank_arbeitsplatte = "holz"; $("#eck_arbeitsplatte_ohne").removeClass("radio_arbeitstiefe_aktiv"); $("#eck_arbeitsplatte_holz").addClass("radio_arbeitstiefe_aktiv"); } if(produkte[p][5] == "4047728075039" || produkte[p][5] == "4047728073219") { eckunterschrank_arbeitsplatte = "edelstahl"; $("#eck_arbeitsplatte_ohne").removeClass("radio_arbeitstiefe_aktiv"); $("#eck_arbeitsplatte_edelstahl").addClass("radio_arbeitstiefe_aktiv"); } if(produkte[p][5] == "4047728072984" && produkte[p][1] < 280) { eckunterschrank_lochwandplatten = 1; } if(produkte[p][5] == "4047728083416") { eckunterschrank_haengeschrank = 1; } } var bgarbeitsplatte = "eckschrank_" + settings['arbeitstiefe'] + "_konfiguration_" + eckunterschrank_arbeitsplatte + ".png"; var bgimg = "eckschrank_" + settings['arbeitstiefe'] + "_konfiguration_bg.png"; if(eckunterschrank_lochwandplatten == 1) { bgimg = "eckschrank_" + settings['arbeitstiefe'] + "_konfiguration_lochwand.png"; $("#eck_lochwand_mit").addClass("radio_arbeitstiefe_aktiv"); } if(eckunterschrank_haengeschrank == 1) { bgimg = "eckschrank_" + settings['arbeitstiefe'] + "_konfiguration_haengeschrank.png"; $("#eck_lochwand_haengeschrank").addClass("radio_arbeitstiefe_aktiv"); } if(eckunterschrank_haengeschrank == 0 && eckunterschrank_lochwandplatten == 0) { $("#eck_lochwand_ohne").addClass("radio_arbeitstiefe_aktiv"); } $(".eck_preview_arbeitsplatte").css("background-image","url(img/" + bgarbeitsplatte + ")"); $(".eck_preview").css("background-image","url(img/" + bgimg + ")"); $("#eck_lochwand_mit").click(function(){ $(this).addClass("radio_arbeitstiefe_aktiv"); $("#eck_lochwand_ohne").removeClass("radio_arbeitstiefe_aktiv"); bgimg = "eckschrank_" + settings['arbeitstiefe'] + "_konfiguration_lochwand.png"; $(".eck_preview").css("background-image","url(img/" + bgimg + ")"); $("#eck_lochwand_haengeschrank").each(function(){ $(this).removeClass("radio_arbeitstiefe_aktiv"); }); }); $("#eck_lochwand_ohne").click(function(){ $(this).addClass("radio_arbeitstiefe_aktiv"); $("#eck_lochwand_mit").removeClass("radio_arbeitstiefe_aktiv"); bgimg = "eckschrank_" + settings['arbeitstiefe'] + "_konfiguration_bg.png"; $(".eck_preview").css("background-image","url(img/" + bgimg + ")"); $("#eck_lochwand_haengeschrank").each(function(){ $(this).removeClass("radio_arbeitstiefe_aktiv"); }); }); if( $("#eck_lochwand_haengeschrank").length == 1) { $("#eck_lochwand_haengeschrank").click(function(){ $(this).addClass("radio_arbeitstiefe_aktiv"); $("#eck_lochwand_mit").removeClass("radio_arbeitstiefe_aktiv"); $("#eck_lochwand_ohne").removeClass("radio_arbeitstiefe_aktiv"); bgimg = "eckschrank_" + settings['arbeitstiefe'] + "_haengeschrank_bg.png"; $(".eck_preview").css("background-image","url(img/" + bgimg + ")"); }); } $("#eck_arbeitsplatte_ohne").click(function(){ $("#eck_arbeitsplatte_ohne").addClass("radio_arbeitstiefe_aktiv"); $("#eck_arbeitsplatte_holz").removeClass("radio_arbeitstiefe_aktiv"); $("#eck_arbeitsplatte_edelstahl").removeClass("radio_arbeitstiefe_aktiv"); $(".eck_preview_arbeitsplatte").css("background-image","url(img/eckschrank_" + settings['arbeitstiefe'] + "_konfiguration_none.png"); }); $("#eck_arbeitsplatte_holz").click(function(){ $("#eck_arbeitsplatte_ohne").removeClass("radio_arbeitstiefe_aktiv"); $("#eck_arbeitsplatte_holz").addClass("radio_arbeitstiefe_aktiv"); $("#eck_arbeitsplatte_edelstahl").removeClass("radio_arbeitstiefe_aktiv"); $(".eck_preview_arbeitsplatte").css("background-image","url(img/eckschrank_" + settings['arbeitstiefe'] + "_konfiguration_holz.png"); }); $("#eck_arbeitsplatte_edelstahl").click(function(){ $("#eck_arbeitsplatte_ohne").removeClass("radio_arbeitstiefe_aktiv"); $("#eck_arbeitsplatte_holz").removeClass("radio_arbeitstiefe_aktiv"); $("#eck_arbeitsplatte_edelstahl").addClass("radio_arbeitstiefe_aktiv"); $(".eck_preview_arbeitsplatte").css("background-image","url(img/eckschrank_" + settings['arbeitstiefe'] + "_konfiguration_edelstahl.png"); }); $("#btn_eckschrank_konf").click(function(){ var eckarbeitsplatten_moeglich = Array("4047728075022","4047728075039","4047728073202","4047728073219"); var eckarbeitsplatte_geplant = ""; if($("#eck_arbeitsplatte_holz").hasClass("radio_arbeitstiefe_aktiv")) { if(settings['arbeitstiefe'] == 500) { eckarbeitsplatte_geplant = "4047728073202"; } if(settings['arbeitstiefe'] == 700) { eckarbeitsplatte_geplant = "4047728075022"; } } if($("#eck_arbeitsplatte_edelstahl").hasClass("radio_arbeitstiefe_aktiv")) { if(settings['arbeitstiefe'] == 500) { eckarbeitsplatte_geplant = "4047728073219"; } if(settings['arbeitstiefe'] == 700) { eckarbeitsplatte_geplant = "4047728075039"; } } var eckarbeitsplatte_enthalten = false; for(q = produkte.length-1; q >= 0; q--) { if(produkte[q][5] != eckarbeitsplatte_geplant) { if(eckarbeitsplatten_moeglich.includes(produkte[q][5])) { produkte.splice(q,1); } } else { eckarbeitsplatte_enthalten = true; } } if(eckarbeitsplatte_enthalten == false && eckarbeitsplatte_geplant != "") { if(seite == "rechts") { addProdukt(eckarbeitsplatte_geplant,0,movedBy); } else { addProdukt(eckarbeitsplatte_geplant,0,settings['wandlaenge'] - movedBy - 883 - settings['arbeitstiefe'] + 500); } } // Den Eck-Hängeschrank hinzufügen oder entfernen var ehs = -1; for(q = produkte.length-1; q >= 0; q--) { if(produkte[q][5] == "4047728083416") { ehs = q; } } if($("#eck_lochwand_haengeschrank").hasClass("radio_arbeitstiefe_aktiv")) { if(ehs == -1) { if(seite == "rechts") { addProdukt("4047728083416",0,movedBy); } else { addProdukt("4047728083416",0,settings['wandlaenge'] - movedBy - 883 - settings['arbeitstiefe'] + 500); } } } else { if(ehs > -1) { produkte.splice(ehs,1); } } var eckarbeitsplatte_enthalten = false; for(q = produkte.length-1; q >= 0; q--) { if(produkte[q][5] != eckarbeitsplatte_geplant) { if(eckarbeitsplatten_moeglich.includes(produkte[q][5])) { produkte.splice(q,1); } } else { eckarbeitsplatte_enthalten = true; } } if(eckarbeitsplatte_enthalten == false && eckarbeitsplatte_geplant != "") { if(seite == "rechts") { addProdukt(eckarbeitsplatte_geplant,0,movedBy); } else { addProdukt(eckarbeitsplatte_geplant,0,settings['wandlaenge'] - movedBy - 883 - settings['arbeitstiefe'] + 500); } } var lochwaende_vorhanden = false; for(q = 0; q < produkte.length; q++) { if(produkte[q][5] == "4047728072984" && produkte[q][1] < 500) { lochwaende_vorhanden = true; } } if($("#eck_lochwand_mit").hasClass("radio_arbeitstiefe_aktiv")) { $("#produkt_4047728072984").attr("data-anzahl-min","2"); $("#produkt_4047728073011").attr("data-anzahl-min","0"); $("#produkt_4047728048286").attr("data-anzahl-min","0"); if(lochwaende_vorhanden == false) { var rechte_pos = movedBy + 22 + settings['arbeitstiefe'] - 500; var linke_pos = (parseFloat($("#wandlaenge_links").val().replace(",",".")) * 1000) - rechte_pos - 861 - 24; var wl = 0; if(settings['arbeitstiefe'] == 700) { addProdukt("4047728076135",0,movedBy); } if(seite == "links") { if(settings['arbeitstiefe'] == 500) { addProdukt("4047728072984",0,linke_pos + 24,995); } else { addProdukt("4047728072984",0,linke_pos - 1,995); } seite = "rechts"; $("#wandlaenge").val($("#wandlaenge_" + seite).val()); wl = Math.round(parseFloat($("#wandlaenge").val())*100)/100; $("#wandlaenge").val(wl); updateSettings("wandlaenge",wl); if(settings['arbeitstiefe'] == 500) { addProdukt("4047728072984",0,rechte_pos + 25,995); } else { addProdukt("4047728072984",0,rechte_pos + 25,995); } seite = "links"; $("#wandlaenge").val($("#wandlaenge_" + seite).val()); wl = Math.round(parseFloat($("#wandlaenge").val())*100)/100; $("#wandlaenge").val(wl); updateSettings("wandlaenge",wl); } else { if(settings['arbeitstiefe'] == 500) { addProdukt("4047728072984",0,rechte_pos,995); } else { addProdukt("4047728072984",0,rechte_pos+25,995); } seite = "links"; $("#wandlaenge").val($("#wandlaenge_" + seite).val()); wl = Math.round(parseFloat($("#wandlaenge").val())*100)/100; $("#wandlaenge").val(wl); updateSettings("wandlaenge",wl); if(settings['arbeitstiefe'] == 500) { addProdukt("4047728072984",0,linke_pos - 1,995); } else { addProdukt("4047728072984",0,linke_pos - 1,995); } seite = "rechts"; $("#wandlaenge").val($("#wandlaenge_" + seite).val()); wl = Math.round(parseFloat($("#wandlaenge").val())*100)/100; $("#wandlaenge").val(wl); updateSettings("wandlaenge",wl); } } } var haengeschrank_lp_vorhanden = false; for(q = 0; q < produkte.length; q++) { if(produkte[q][5] == "4047728072991") { haengeschrank_lp_vorhanden = true; } } if($("#eck_lochwand_haengeschrank").hasClass("radio_arbeitstiefe_aktiv")) { $("#produkt_4047728072984").attr("data-anzahl-min","0"); $("#produkt_4047728072991").attr("data-anzahl-min","2"); $("#produkt_4047728055260").attr("data-anzahl-min","2"); if(haengeschrank_lp_vorhanden == false) { var rechte_pos = movedBy + 22 + settings['arbeitstiefe'] - 500; var linke_pos = (parseFloat($("#wandlaenge_links").val().replace(",",".")) * 1000) - rechte_pos - 861 - 24; var wl = 0; if(seite == "links") { addProdukt("4047728072991",0,linke_pos + 24,995); addProdukt("4047728055260",0,linke_pos + 24,1296); seite = "rechts"; $("#wandlaenge").val($("#wandlaenge_" + seite).val()); wl = Math.round(parseFloat($("#wandlaenge").val())*100)/100; $("#wandlaenge").val(wl); updateSettings("wandlaenge",wl); addProdukt("4047728072991",0,rechte_pos + 25,995); addProdukt("4047728055260",0,rechte_pos + 25,1296); seite = "links"; $("#wandlaenge").val($("#wandlaenge_" + seite).val()); wl = Math.round(parseFloat($("#wandlaenge").val())*100)/100; $("#wandlaenge").val(wl); updateSettings("wandlaenge",wl); } else { addProdukt("4047728072991",0,rechte_pos,995); addProdukt("4047728055260",0,rechte_pos,1296); seite = "links"; $("#wandlaenge").val($("#wandlaenge_" + seite).val()); wl = Math.round(parseFloat($("#wandlaenge").val())*100)/100; $("#wandlaenge").val(wl); updateSettings("wandlaenge",wl); addProdukt("4047728072991",0,linke_pos - 1,995); addProdukt("4047728055260",0,linke_pos - 1,1296); seite = "rechts"; $("#wandlaenge").val($("#wandlaenge_" + seite).val()); wl = Math.round(parseFloat($("#wandlaenge").val())*100)/100; $("#wandlaenge").val(wl); updateSettings("wandlaenge",wl); } } } if($("#eck_lochwand_ohne").hasClass("radio_arbeitstiefe_aktiv")) { $("#produkt_4047728072984").attr("data-anzahl-min","0"); $("#produkt_4047728073011").attr("data-anzahl-min","0"); $("#produkt_4047728048286").attr("data-anzahl-min","0"); } if($("#eck_lochwand_mit").hasClass("radio_arbeitstiefe_aktiv") == false) { for(v = produkte.length - 1; v >= 0; v--) { if(produkte[v][5] == "4047728072984" && produkte[v][11] > -1) { produkte.splice(v,1); } } for(v = produkte.length - 1; v >= 0; v--) { if(produkte[v][5] == "4047728072984" && produkte[v][11] > -1) { produkte.splice(v,1); } } for(v = produkte.length - 1; v >= 0; v--) { if(produkte[v][5] == "4047728076135" && produkte[v][11] > -1) { produkte.splice(v,1); } } } if($("#eck_lochwand_haengeschrank").hasClass("radio_arbeitstiefe_aktiv") == false) { for(v = produkte.length - 1; v >= 0; v--) { if(produkte[v][5] == "4047728072991" && produkte[v][11] > -1) { produkte.splice(v,1); } } for(v = produkte.length - 1; v >= 0; v--) { if(produkte[v][5] == "4047728055260" && produkte[v][11] > -1) { produkte.splice(v,1); } } } redrawPlanung(); updateProduktanzahl(); jc.close(); }); } var jc = null; function showEckschrankEinstellungen() { var inhalt = "
Sollen Lochwände über dem Eck-Unterschrank geplant werden?
"; inhalt += "
Ohne Lochwände
"; inhalt += "
Mit Lochwänden
"; if(settings["arbeitstiefe"] == 500) { inhalt += "
Mit Hängeschrank
"; } inhalt += "Soll eine Arbeitsplatte über dem Eck-Unterschrank geplant werden?
"; inhalt += "
Ohne Arbeitsplatte
"; inhalt += "
Mit Holz-Arbeitsplatte
"; inhalt += "
Mit Edelstahl-Arbeitsplatte
"; inhalt += "
Übernehmen
"; jc = $.confirm({ boxWidth: '30%', theme:'dark', useBootstrap: false, title: "Einstellungen für den Eck-Unterschrank", content: inhalt, onContentReady: function(){ eckschrankEinstellungenHolen(); }, buttons: { }, }); } function chf_preis(inpreis) { var kpr = String(inpreis.toFixed(2)); if(kpr.length == 8) { kpr = kpr[0] + kpr[1] + "'" + kpr.substr(2); } if(kpr.length == 7) { kpr = kpr[0] + "'" + kpr.substr(1); } kpr = 'CHF ' + kpr; return kpr; } function switchSeite(){ if(seite == "rechts") { seite = "links"; } else { seite = "rechts"; } } function redrawPlanung(skip_undo = false){ // console.log("REDRAW PLANUNG"); for(k = 0; k < produkte.length; k++) { // console.log("Produkt " + k) // console.log(produkte[k]); } addEckschrank(); var eckschrankindex = -1; for(k = 0; k < produkte.length; k++) { if(produkte[k][5] == "4047728054904") { eckschrankindex = k; } } var eckhaengeschrankindex = -1; for(k = 0; k < produkte.length; k++) { if(produkte[k][5] == "4047728083416") { eckhaengeschrankindex = k; } } if(eckschrankindex >= 0) { produkte[eckschrankindex][8] = seite; produkte[eckschrankindex][1] = getEckschrankPosition(); if(seite == 'rechts') { produkte[eckschrankindex][6] = produkte[eckschrankindex][6].replace('_rechts.png','_links.png'); } else { produkte[eckschrankindex][6] = produkte[eckschrankindex][6].replace('_links.png','_rechts.png'); } if(eckhaengeschrankindex > -1) { if(seite == 'rechts') { produkte[eckhaengeschrankindex][6] = produkte[eckhaengeschrankindex][6].replace('_rechts.png','_links.png'); produkte[eckhaengeschrankindex][6] = produkte[eckhaengeschrankindex][6].replace('v6000-058.png','haengeschrank_500_links.png'); } else { produkte[eckhaengeschrankindex][6] = produkte[eckhaengeschrankindex][6].replace('_links.png','_rechts.png'); produkte[eckhaengeschrankindex][6] = produkte[eckhaengeschrankindex][6].replace('v6000-058.png','haengeschrank_500_rechts.png'); } for(p = 0; p < produkte.length; p++) { if(produkte[p][5] == "4047728072991" && parseInt(produkte[p][10]) == 22) { produkte[p][10] = 47; } if(produkte[p][5] == "4047728055260" && parseInt(produkte[p][10]) == 22) { produkte[p][10] = 47; } if(produkte[p][5] == "4047728072991" && parseInt(produkte[p][1]) == 22) { produkte[p][1] = 47; } if(produkte[p][5] == "4047728055260" && parseInt(produkte[p][1]) == 22) { produkte[p][1] = 47; } } } var produkte_beide_seiten = Array("4047728075022","4047728075039","4047728073202","4047728073219","4047728076135","4047728054904","4047728083416"); for(p = 0; p < produkte.length; p++) { if(produkte_beide_seiten.includes(produkte[p][5])) { if(produkte[p][8] != seite) { if(produkte[p][8] == "rechts") { produkte[p][8] = "links"; produkte[p][9] = settings['wandlaenge'] - produkte[p][3]; produkte[p][10] = settings['wandlaenge'] - produkte[p][3] - moveAmount; } else { produkte[p][8] = "rechts"; produkte[p][9] = 0; produkte[p][10] = moveAmount; } if(movedBy == 0) { produkte[p][1] = produkte[p][9]; } else { produkte[p][1] = produkte[p][10]; } } } } } if(skip_undo == false) { var ni = undoarray.length; var isdifferent = false; if(ni == 0) { undoarray[0] = Array(); ni = 1; } if(produkte.length != undoarray[ni-1].length) { isdifferent = true; } else { for(d = 0; d < produkte.length; d++) { for(ed = 0; ed < produkte[d].length; ed++) { if(undoarray[ni-1][d][ed] != produkte[d][ed]) { isdifferent = true; } } } } if(isdifferent == true) { undoarray[ni] = Array(); for(d = 0; d < produkte.length; d++) { undoarray[ni][d] = Array(); for(ed = 0; ed < produkte[d].length; ed++) { undoarray[ni][d][ed] = produkte[d][ed]; } } } } if(undoarray.length > 1) { $(".undo_btn").removeClass("undo_btn_disabled"); } else { $(".undo_btn").addClass("undo_btn_disabled"); } var new_html = ""; var p = 0; warenkorb = Array(); $("#imwarenkorb").html("

Warenkorb (0)

"); // kleine Lücken (bis 20mm auffüllen) // erst von links nach rechts prüfen var streben_links = Array(); var streben_rechts = Array(); var streben_links_2 = Array(); var streben_rechts_2 = Array(); var ausrufezeichen = Array(); var preis = 0; var preise_nach_kategorien = new Object(); $(".konfigurator_interface_right_inner_scrollpane .konfigurator_dropdown").each(function(){ var kt = $(this).attr("data-kategorie"); preise_nach_kategorien[kt] = 0; }); var ignore = -1; if(neuekomponente != "") { ignore = produkte.length - 1; } var anzahlNachEAN = Array(); for(p = 0; p < produkte.length; p++) { if(typeof anzahlNachEAN[produkte[p][5]] != "undefined") { anzahlNachEAN[produkte[p][5]] = anzahlNachEAN[produkte[p][5]] + 1; } else { anzahlNachEAN[produkte[p][5]] = 1; } } Object.keys(anzahlNachEAN).forEach(key => { var gp = preise[key] * getPackungen(key, anzahlNachEAN[key]); // console.log("Preis gp: " + key + ": " + getPackungen(key, anzahlNachEAN[key])); // console.log(preis); preis = preis + gp; // console.log(preis); var gk = getKategorieByEAN(key); preise_nach_kategorien[gk] = preise_nach_kategorien[gk] + gp; }); for(p = 0; p = 0) { } } for(p = 0; p < produkte.length; p++) { var produkt_html = produkte[p][6]; var styles = "width:" + Math.ceil(parseFloat(produkte[p][3] * skalierung) +1) + "px; height:" + parseFloat(produkte[p][4] * skalierung) + "px; left:" + Math.floor(parseFloat(produkte[p][1] * skalierung)) + "px; bottom:" + parseFloat(produkte[p][2] * skalierung) + "px;"; produkt_html = produkt_html.replace('style="', 'data-x="' + produkte[p][1] + '" data-y="' + produkte[p][2] + '" data-array-id="' + p + '" style="' + styles); if(produkte[p][7] != "Zubehoer" && produkte[p][7] != "Sockelblenden" && produkte[p][7] != "intern") { if(produkte[p][8] == seite) { new_html = new_html + produkt_html; } } /* if(preise[produkte[p][5]] > 0) { // console.log("FÜGE PREIS HINZU: " + preise[produkte[p][5]); // console.log(preis); preis = preis + preise[produkte[p][5]]; // console.log(preis); preise_nach_kategorien[produkte[p][7]] = preise_nach_kategorien[produkte[p][7]] + preise[produkte[p][5]]; } else { preis = -100000; preise_nach_kategorien[produkte[p][7]] = - 100000; } */ inDenWarenkorb(produkte[p][5],1); // falls Unterschränke im 700mm Modus verbaut wurden jeweils den passenden Erweiterungsrahmen hinzufügen if(produkte[p][7] == "Unterschrank" && settings['arbeitstiefe'] == 700) { if($("#produkt_" + produkte[p][5]).hasClass("extratief_1") == false) { // Für Förch noch den Erweiterungsrahmen verwenden, sonst die neuen Blöcke if(client == "foerch" || produkte[p][5] == "4047728084215") { inDenWarenkorb("4047728073431",1); } else { if(produkte[p][3] == "676") { inDenWarenkorb("4047728081627",1); } if(produkte[p][3] == "861") { inDenWarenkorb("4047728081627",1); } if(produkte[p][5] == "4047728054904") // Eckunterschrank { inDenWarenkorb("4047728081627",2); } } } } // prüfen, ob Seitenblenden benötigt werden (nur Hoch- und Unterschränke) if(produkte[p][5] == "4047728054904") { var seitenblende_links = true; var seitenblende_rechts = true; use_ean = "4047728048439"; if(settings["arbeitstiefe"] == 700) { use_ean = "4047728073813"; } // prüfen, ob neben dem Eckunterschrank ein Hoch- oder Unterschrank steht for(q = 0; q < produkte.length; q++) { if(produkte[q][7] == "Hochschrank" || produkte[q][7] == "Unterschrank" || produkte[q][7] == "Stützen") { if(q != p && produkte[q][8] == "rechts") { var kante = (movedBy + (settings['arbeitstiefe'] - 500) + 883); if(kante == parseFloat(produkte[q][1])) { seitenblende_rechts = false; } } if(q != p && produkte[q][8] == "links") { var wandlaenge_links = (parseFloat($("#wandlaenge_links").val().replace(",",".")) * 1000); var kante = wandlaenge_links - (movedBy + (settings['arbeitstiefe'] - 500) + 883); var vergleich = parseFloat(produkte[q][1]) + parseFloat(produkte[q][3]); var diff = kante - vergleich; if(diff < 15 && diff > -15) { seitenblende_links = false; } } } } if(seitenblende_links == true) { if(preise[use_ean] > 0) { // console.log("FÜGE PREIS EAN HINZU: " + preise[use_ean]); preis = preis + preise[use_ean]; // console.log(preis); // console.log(preis); } else { preis = -100000; } inDenWarenkorb(use_ean,1); new_html = new_html + ''; seitenblenden_hinweis(); } if(seitenblende_rechts == true) { if(preise[use_ean] > 0) { // console.log("FÜGE PREIS EAN HINZU: " + preise[use_ean]); preis = preis + preise[use_ean]; // console.log(preis); // console.log(preis); } else { preis = -100000; } inDenWarenkorb(use_ean,1); new_html = new_html + '
'; seitenblenden_hinweis(); } } if((produkte[p][7] == "Hochschrank" || produkte[p][7] == "Unterschrank") && produkte[p][5] != "4047728054904" && settings['seitenblenden'] == true) { var seitenblende_links = true; var seitenblende_rechts = true; // prüfen, ob links und / oder rechts neben dem Produkt ein anderes Produkt verbaut wurde for(q = 0; q < produkte.length; q++) { if(produkte[q][7] == "Hochschrank" || produkte[q][7] == "Unterschrank" || produkte[q][7] == "Stützen") { if(q != p && produkte[q][8] == produkte[p][8]) { var links_p = parseFloat(produkte[p][1]); var rechts_p = parseFloat(produkte[p][1]) + parseFloat(produkte[p][3]); var links_q = parseFloat(produkte[q][1]); var rechts_q = parseFloat(produkte[q][1]) + parseFloat(produkte[q][3]); if(links_q < links_p) { // zu untersuchendes Produkt befindet sich links vom aktuellen Produkt if((links_p - rechts_q) > -15 && (links_p - rechts_q) < 15) { seitenblende_links = false; } } else { // zu untersuchendes Produkt befindet sich rechts vom aktuellen Produkt if((links_q - rechts_p) > -15 && (links_q - rechts_p) < 15) { seitenblende_rechts = false; } } } } } if(ueber_eck == true) { if(produkte[p][8] == "rechts") { var kante = (movedBy + (settings['arbeitstiefe'] - 500) + 883); var vergleich = parseFloat(produkte[p][1]); var diff = kante - vergleich; if(diff < 15 && diff > - 15) { seitenblende_links = false; } } if(produkte[p][8] == "links") { var wandlaenge_links = (parseFloat($("#wandlaenge_links").val().replace(",",".")) * 1000); var kante = wandlaenge_links - (movedBy + (settings['arbeitstiefe'] - 500) + 883); var vergleich = parseFloat(produkte[p][1]) + parseFloat(produkte[p][3]); var diff = kante - vergleich; if(diff < 15 && diff > - 15) { seitenblende_rechts = false; } } } if(produkte[p][7] == "Hochschrank") { if(seitenblende_links == true) { if(preise["4047728048422"] > 0) { // console.log("FÜGE PREIS 4047728048422 HINZU: " + preise["4047728048422"]); preis = preis + preise["4047728048422"]; // console.log(preis); // console.log(preis); } else { preis = -100000; } inDenWarenkorb("4047728048422",1); new_html = new_html + ''; seitenblenden_hinweis(); } if(seitenblende_rechts == true) { if(preise["4047728048422"] > 0) { // console.log("Prreis: " + preise["4047728048422"]); // console.log(preis); preis = preis + preise["4047728048422"]; // console.log(preis); } else { preis = -100000; } inDenWarenkorb("4047728048422",1); new_html = new_html + '
'; seitenblenden_hinweis(); } } if(produkte[p][7] == "Unterschrank") { use_ean = "4047728048439"; if(settings["arbeitstiefe"] == 700) { use_ean = "4047728073813"; } if(seitenblende_links == true) { if(preise[use_ean] > 0) { // console.log("pppreis: " + preise[use_ean]); // console.log(preis); preis = preis + preise[use_ean]; // console.log(preis); } else { preis = -100000; } inDenWarenkorb(use_ean,1); new_html = new_html + ''; seitenblenden_hinweis(); } if(seitenblende_rechts == true) { if(preise[use_ean] > 0) { // console.log("Preis333: " + preise[use_ean]); // console.log(preis); preis = preis + preise[use_ean]; // console.log(preis); } else { preis = -100000; } inDenWarenkorb(use_ean,1); new_html = new_html + '
'; seitenblenden_hinweis(); } } } var linkeKante = -1; var rechteKante = -1; var ldvl_l = false; var ldvl_r = false; var ldvr_l = false; var ldvr_r = false; // prüfen, ob Lochstreben benötigt werden (nur für Unterschränke und Stützen) if(p != ignore) { var werkstattwagen_ok = check_werkstattwagen_ok(p); if((produkte[p][7] == "Unterschrank" || produkte[p][7] == "Stützen" || produkte[p][7] == "Lochwand" || werkstattwagen_ok) && settings['streben'] == true && produkte[p][8] == seite) { linkeKante = parseFloat(produkte[p][1]); rechteKante = parseFloat(produkte[p][1]) + parseFloat(produkte[p][3]); ldv_l = lochblechLinksDavon(linkeKante); rdv_l = lochblechRechtsDavon(linkeKante); ldv_r = lochblechLinksDavon(rechteKante); rdv_r = lochblechRechtsDavon(rechteKante); // wenn ein Lochblech links neben der linken Kante vorhanden ist, muss eine Mittelstrebe verwendet werden // die Mittelstrebe wird verbaut, wenn an der gleichen Stelle eine linke und eine Rechte Strebe verplant werden if((ldv_l == true && rdv_l == true)) { streben_links[streben_links.length] = linkeKante; streben_rechts[streben_rechts.length] = linkeKante; } else { if(rdv_l == true) { streben_links[streben_links.length] = linkeKante; } } // wenn ein Lochblech rechts neben der rechten Kante vorhanden ist, muss eine Mittelstrebe verwendet werden if((rdv_r == true && rdv_l == true)) { streben_links[streben_links.length] = rechteKante; streben_rechts[streben_rechts.length] = rechteKante; } else { if(ldv_r == true) { streben_rechts[streben_rechts.length] = rechteKante; } } } } // prüfen, ob Lochstreben für die andere Seite benötigt werden (nur für Unterschränke und Stützen) if(p != ignore) { switchSeite(); var werkstattwagen_ok = check_werkstattwagen_ok(p); if((produkte[p][7] == "Unterschrank" || produkte[p][7] == "Stützen" || produkte[p][7] == "Lochwand" || werkstattwagen_ok) && settings['streben'] == true && produkte[p][8] == seite) { linkeKante = parseFloat(produkte[p][1]); rechteKante = parseFloat(produkte[p][1]) + parseFloat(produkte[p][3]); ldv_l = lochblechLinksDavon(linkeKante); rdv_l = lochblechRechtsDavon(linkeKante); ldv_r = lochblechLinksDavon(rechteKante); rdv_r = lochblechRechtsDavon(rechteKante); // wenn ein Lochblech links neben der linken Kante vorhanden ist, muss eine Mittelstrebe verwendet werden // die Mittelstrebe wird verbaut, wenn an der gleichen Stelle eine linke und eine Rechte Strebe verplant werden if((ldv_l == true)) { streben_links_2[streben_links_2.length] = linkeKante; streben_rechts_2[streben_rechts_2.length] = linkeKante; } else { if(rdv_l == true) { streben_links_2[streben_links_2.length] = linkeKante; } } // wenn ein Lochblech rechts neben der rechten Kante vorhanden ist, muss eine Mittelstrebe verwendet werden if((rdv_r == true)) { streben_links_2[streben_links_2.length] = rechteKante; streben_rechts_2[streben_rechts_2.length] = rechteKante; } else { if(ldv_r == true) { streben_rechts_2[streben_rechts_2.length] = rechteKante; } } } switchSeite(); } // prüfen, ob unter den Enden einer Arbeitsplatte entweder eine Stütze oder ein Unterschrank steht if(produkte[p][7] == "Arbeitsplatte" && produkte[p][8] == seite) { linkeKante = parseFloat(produkte[p][1]); rechteKante = parseFloat(produkte[p][1]) + parseFloat(produkte[p][3]); var linksAusrufezeichen = true; var rechtsAusrufezeichen = true; for(n = 0; n < produkte.length; n++) { if(produkte[n][7] == "Unterschrank" || produkte[n][7] == "Stützen") { if(parseFloat(produkte[n][1]) <= linkeKante && (parseFloat(produkte[n][1]) + parseFloat(produkte[n][3])) > linkeKante) { linksAusrufezeichen = false; } if(parseFloat(produkte[n][1]) < rechteKante && (parseFloat(produkte[n][1]) + parseFloat(produkte[n][3])) >= rechteKante) { rechtsAusrufezeichen = false; } } } if(linksAusrufezeichen == true) { if(ausrufezeichen.indexOf(linkeKante) == -1) { ausrufezeichen[ausrufezeichen.length] = linkeKante; } } if(rechtsAusrufezeichen == true) { if(ausrufezeichen.indexOf(rechteKante) == -1) { ausrufezeichen[ausrufezeichen.length] = rechteKante; } } } } // die Korrekturen berücksichtigen (deaktiviert) / Das war für Korrekturen an der Anzahl gedacht Object.keys(korrektur).forEach(key => { warenkorb[warenkorb.length] = Array(key,korrektur[key]); var tempkat = $(".konfigurator_dropdown_produkte #produkt_" + key).attr("data-kategorien"); preise_nach_kategorien[tempkat] = preise_nach_kategorien[tempkat] + korrektur[key] * preise[key]; preis = preis + korrektur[key] * preise[key]; }); $(".konfigurator_interface_right_inner_scrollpane .konfigurator_dropdown").each(function(){ var kt = $(this).attr("data-kategorie"); var ktpr = preise_nach_kategorien[kt]; var kpr = String(ktpr.toFixed(2)).replace(".",","); if(kpr.length == 8) { kpr = kpr[0] + kpr[1] + "." + kpr.substr(2); } if(kpr.length == 7) { kpr = kpr[0] + "." + kpr.substr(1); } if(client == 'kea') { kpr = chf_preis(ktpr); } $(this).find(".kat_price").text(kpr + " €"); if(ktpr < 0) { $(this).find(".kat_price").text("***"); } }); for(n = 0; n < ausrufezeichen.length; n++) { new_html = new_html + '
'; } var streben_breite = Math.floor(skalierung * 60); var streben_hoehe = Math.floor(skalierung * 2000); var anzahl_streben_links = 0; var anzahl_streben_rechts = 0; var mittelstreben = Array(); streben_links = [...new Set(streben_links)]; streben_links_2 = [...new Set(streben_links_2)]; streben_rechts = [...new Set(streben_rechts)]; streben_rechts_2 = [...new Set(streben_rechts_2)]; for(n = 0; n < streben_links.length; n++) { var mittel = false; for(m = 0; m < streben_rechts.length; m++) { if(differenz(streben_links[n],streben_rechts[m]) < 5) { mittel = true; for(ppp = 0; ppp < produkte.length; ppp++) { if(produkte[ppp][8] == seite && produkte[ppp][5] == "4047728084215") { if(differenz(streben_links[n],produkte[ppp][1]) < 5) { mittel = false; } if(differenz(streben_links[n],produkte[ppp][1] + produkte[ppp][3]) < 5) { mittel = false; } } } } } if(mittel == false) { new_html = new_html + ''; seitenblenden_hinweis(); anzahl_streben_links = anzahl_streben_links + 1; } else { new_html = new_html + '
'; seitenblenden_hinweis(); // anzahl_streben_mitte = anzahl_streben_mitte + 1; mittelstreben[streben_links[n]] = 1; } } for(n = 0; n < streben_rechts.length; n++) { var mittel = false; for(m = 0; m < streben_links.length; m++) { if(differenz(streben_rechts[n],streben_links[m]) < 15) { mittel = true; for(ppp = 0; ppp < produkte.length; ppp++) { if(produkte[ppp][8] == seite && produkte[ppp][5] == "4047728084215") { if(differenz(streben_links[m],produkte[ppp][1]) < 5) { mittel = false; } if(differenz(streben_links[m],produkte[ppp][1] + produkte[ppp][3]) < 5) { mittel = false; } } } } } if(mittel == false) { new_html = new_html + '
'; seitenblenden_hinweis(); anzahl_streben_rechts = anzahl_streben_rechts + 1; } } if(anzahl_streben_rechts >= anzahl_streben_links) { if(anzahl_streben_rechts > 0) { $("#produkt_4047728076128").attr("data-anzahl",anzahl_streben_rechts); $("#produkt_4047728076128 .anzahl").text(anzahl_streben_rechts); if(preise["4047728076128"] > 0) { // console.log("PREIS STREBEN: " + preise["4047728076128"]); // console.log(preis); preis = preis + anzahl_streben_rechts * preise["4047728076128"]; // console.log(preis); } else { preis = -100000; } if(ueber_eck == true && movedBy > 0) { inDenWarenkorb("4047728076128",anzahl_streben_rechts + 1); } else { inDenWarenkorb("4047728076128",anzahl_streben_rechts); } } } else { if(anzahl_streben_links > 0) { $("#produkt_4047728076128").attr("data-anzahl",anzahl_streben_links); $("#produkt_4047728076128 .anzahl").text(anzahl_streben_links); if(preise["4047728076128"] > 0) { // console.log("Preis streben 2: " + preise["4047728076128"]); // console.log(preis); preis = preis + anzahl_streben_links * preise["4047728076128"]; // console.log(preis); } else { preis = -100000; } if(ueber_eck == true && movedBy > 0) { inDenWarenkorb("4047728076128",anzahl_streben_links + 1); } else { inDenWarenkorb("4047728076128",anzahl_streben_links); } } } var anzahl_streben_mitte = 0; Object.keys(mittelstreben).forEach(key => { anzahl_streben_mitte = anzahl_streben_mitte + 1; }); if(anzahl_streben_mitte > 0) { $("#produkt_4047728076111").attr("data-anzahl",anzahl_streben_mitte); $("#produkt_4047728076111 .anzahl").text(anzahl_streben_mitte); if(preise["4047728076111"] > 0) { // console.log("Preis mitte: " + preise["4047728076111"]); // console.log(preis); preis = preis + anzahl_streben_mitte * preise["4047728076111"]; // console.log(preis); } else { preis = -100000; } inDenWarenkorb("4047728076111",anzahl_streben_mitte); } var anzahl_streben_links_2 = 0; var anzahl_streben_rechts_2 = 0; var mittelstreben_2 = Array(); for(n = 0; n < streben_links_2.length; n++) { var mittel = false; for(m = 0; m < streben_rechts_2.length; m++) { if(differenz(streben_links_2[n],streben_rechts_2[m]) < 5) { mittel = true; } } if(mittel == false) { anzahl_streben_links_2 = anzahl_streben_links_2 + 1; } else { mittelstreben_2[streben_links_2[n]] = 1; } } for(n = 0; n < streben_rechts_2.length; n++) { var mittel = false; for(m = 0; m < streben_links_2.length; m++) { if(differenz(streben_rechts_2[n],streben_links_2[m]) < 5) { mittel = true; } } if(mittel == false) { anzahl_streben_rechts_2 = anzahl_streben_rechts_2 + 1; } } if(anzahl_streben_rechts_2 >= anzahl_streben_links_2) { if(anzahl_streben_rechts_2 > 0) { $("#produkt_4047728076128").attr("data-anzahl",anzahl_streben_rechts_2 + anzahl_streben_rechts); $("#produkt_4047728076128 .anzahl").text(anzahl_streben_rechts_2 + anzahl_streben_rechts); if(preise["4047728076128"] > 0) { // console.log("preis streben 3333: " + preise["4047728076128"]); // console.log(preis); preis = preis + anzahl_streben_rechts_2 * preise["4047728076128"]; // console.log(preis); } else { preis = -100000; } inDenWarenkorb("4047728076128",anzahl_streben_rechts_2); } } else { if(anzahl_streben_links_2 > 0) { $("#produkt_4047728076128").attr("data-anzahl",anzahl_streben_links_2 + anzahl_streben_links); $("#produkt_4047728076128 .anzahl").text(anzahl_streben_links_2 + anzahl_streben_links); if(preise["4047728076128"] > 0) { // console.log("Preis streben links: " + preise["4047728076128"]); // console.log(preis); preis = preis + anzahl_streben_links_2 * preise["4047728076128"]; // console.log(preis); } else { preis = -100000; } inDenWarenkorb("4047728076128",anzahl_streben_links_2); } } var anzahl_streben_mitte_2 = 0; Object.keys(mittelstreben_2).forEach(key => { anzahl_streben_mitte_2 = anzahl_streben_mitte_2 + 1; }); if(anzahl_streben_mitte_2 > 0) { $("#produkt_4047728076111").attr("data-anzahl",anzahl_streben_mitte_2 + anzahl_streben_mitte); $("#produkt_4047728076111 .anzahl").text(anzahl_streben_mitte_2 + anzahl_streben_mitte); if(preise["4047728076111"] > 0) { // console.log("preis streben 2 mitte: " + preise["4047728076111"]); // console.log(preis); preis = preis + anzahl_streben_mitte_2 * preise["4047728076111"]; // console.log(preis); } else { preis = -100000; } inDenWarenkorb("4047728076111",anzahl_streben_mitte_2); } preis = 0; for(w = 0; w < warenkorb.length; w++) { var pkean = warenkorb[w][0]; var pkanzahl = warenkorb[w][1]; var pk = getPackungen(pkean,pkanzahl); // console.log("PREIS WARENKORB: " + preise[warenkorb[w][0]]); // console.log(warenkorb[w]); // console.log(preis); preis = preis + pk * preise[warenkorb[w][0]]; // console.log(preis); } var pr = String(preis.toFixed(2)).replace(".",","); if(pr.length == 10) { pr = pr[0] + "." + pr[1] + pr[2] + pr[3] + "." + pr.substr(4); } if(pr.length == 9) { pr = pr[0] + pr[1] + pr[2] + "." + pr.substr(3); } if(pr.length == 8) { pr = pr[0] + pr[1] + "." + pr.substr(2); } if(pr.length == 7) { pr = pr[0] + "." + pr.substr(1); } if(client == 'kea') { pr = chf_preis(preis); } $(".preis").text(pr + " €"); if(preis < 0) { $(".preis").text("***"); } if(ueber_eck == true) { var linie_pos = movedBy + (settings['arbeitstiefe'] - 500) + 883; if(seite == "rechts") { new_html = new_html + '
'; } if(seite == "links") { var halb = linie_pos / 2; linie_pos = settings['wandlaenge'] - linie_pos; new_html = new_html + '
'; } new_html = new_html + '
'; if(movedBy > 0) { new_html = new_html + ''; new_html = new_html + '
'; } } if(settings['abmessungen_zeigen'] == true) { var space_found = true; var start_check = 0; var loopcounter = 0; var luecke = 0; var start_frei = -1; if(seite == "rechts") { start_frei = getFreeSpace(10,10,0,-1,0); while(start_frei > -1 && loopcounter < 20) { loopcounter++; luecke = lueckenbreite(start_frei); if(luecke > 0) { styles = "background-color:rgba(0,128,0,0);width:" + parseFloat(luecke * skalierung) + "px; height:5px; left:" + parseFloat(start_frei * skalierung) + "px; bottom:" + parseFloat(0) + "px;"; luecke_html = '
' + Math.round(luecke) + ' mm
'; new_html = new_html + luecke_html; } start_frei = getFreeSpace(10,10,0,-1,start_frei + 1 + luecke); } } if(seite == "links") { start_frei = getFreeSpace(10,10,0,-1,0); while(start_frei > -1 && loopcounter < 20) { loopcounter++; luecke = lueckenbreite(start_frei); if(luecke > 0) { styles = "background-color:rgba(0,128,0,0);width:" + parseFloat(luecke * skalierung) + "px; height:5px; left:" + parseFloat((start_frei - luecke) * skalierung) + "px; bottom:" + parseFloat(0) + "px;"; luecke_html = '
' + Math.round(luecke) + ' mm
'; new_html = new_html + luecke_html; start_frei = getFreeSpace(10,10,0,-1,0,start_frei - 1 - luecke); } else { start_frei = -1; } } } if(new_html != "") { $(".konfigurator_wand_boden").html($(".konfigurator_wand_boden").html() + new_html); } } $(".konfigurator_wand_boden").html(new_html); $(".konfigurator_wand_boden .delete_button").each(function(){ $(this).click(function(){ produkte.splice(parseFloat($(this).parent().attr("data-array-id")),1); redrawPlanung(); updateLabels(); updateProduktanzahl(); }); }); new_html = ""; var nav_skalierung = skalierung * $(".scrubber").height() / $(".konfigurator_wand").height(); for(p = 0; p < produkte.length; p++) { if(produkte[p][7] != "Zubehoer" && produkte[p][7] != "Sockelblenden" && produkte[p][7] != "intern") { if(produkte[p][8] == seite) { var styles = "width:" + parseFloat(produkte[p][3] * nav_skalierung) + "px; height:" + parseFloat(produkte[p][4] * nav_skalierung) + "px; left:" + parseFloat(produkte[p][1] * nav_skalierung) + "px; bottom:" + parseFloat(produkte[p][2] * nav_skalierung) + "px;"; produkt_html = '
'; new_html = new_html + produkt_html; } } } $(".konfigurator_navigator_background").html(new_html); $(".hinweis_eckschrank_icon").click(function(){ showEckschrankEinstellungen(); }); /* $(".seitenblende_unterschrank").click(function(){ popups['seitenblende_unterschrank'].open(); $(".slider_holder").attr("data-current-slide","0"); $(".slider_punkt .aktiv").css("display","none"); $(".slider_punkt .inaktiv").css("display","inline-block"); $(".slider_punkt_0 .aktiv").css("display","inline-block"); $(".slider_punkt_0 .inaktiv").css("display","none"); $(".slider_image_holder").css("left","0"); $(".slider_left").click(function(){ slide_previous($(this).attr("data-slider-id")); }); $(".slider_right").click(function(){ slide_next($(this).attr("data-slider-id")); }); $(".slider_punkt .inaktiv").click(function(){ slide_to($(this).parent().attr("data-slider-id"),$(this).parent().attr("data-index")); }); }); $(".seitenblende_hochschrank").click(function(){ popups['seitenblende_hochschrank'].open(); $(".slider_holder").attr("data-current-slide","0"); $(".slider_punkt .aktiv").css("display","none"); $(".slider_punkt .inaktiv").css("display","inline-block"); $(".slider_punkt_0 .aktiv").css("display","inline-block"); $(".slider_punkt_0 .inaktiv").css("display","none"); $(".slider_image_holder").css("left","0"); $(".slider_left").click(function(){ slide_previous($(this).attr("data-slider-id")); }); $(".slider_right").click(function(){ slide_next($(this).attr("data-slider-id")); }); $(".slider_punkt .inaktiv").click(function(){ slide_to($(this).parent().attr("data-slider-id"),$(this).parent().attr("data-index")); }); }); */ if(ueber_eck == true) { for(n = 0; n < produkte.length; n++) { if(produkte[n][11] > -1) { $("#" + produkte[n][0]).addClass("fixed_produkt"); } } } $(".konfigurator_wand_boden .konfigurator_produkt").each(function(){ if($(this).attr("data-planung-montagehoehe").indexOf(",") < 0) { if($(this).hasClass("fixed_produkt") == false) { $(this).draggable({ axis: "x", containment: $(".konfigurator_wand"), drag: function( event, ui ) { moving($(this)); }, stop: function( event, ui ) { neuekomponente = ""; stopped($(this)); hideZulaessig(); }, start: function( event, ui ) { $(".luecke").css("display","none"); createSnaps($(this)); $(".seitenblende_links").remove(); $(".seitenblende_rechts").remove(); showZulaessig(produkte[parseFloat($(this).attr("data-array-id"))][5]); }, snap: false }); } } else { var containername = $(this).attr("data-planung-montagehoehe").replace(",","_"); if($("#containment_" + containername).length == 0) { $(".konfigurator_wand").append('
'); } var kleinsteMontageHoehe = 100000; var groessteMontageHoehe = -100000; hoehen = $(this).attr("data-planung-montagehoehe").split(","); for(k = 0; k < hoehen.length; k++) { if(parseFloat(hoehen[k]) < kleinsteMontageHoehe) { kleinsteMontageHoehe = parseFloat(hoehen[k]); } if(parseFloat(hoehen[k]) > groessteMontageHoehe) { groessteMontageHoehe = parseFloat(hoehen[k]); } } var bt = parseFloat(kleinsteMontageHoehe * skalierung); var ht = parseFloat(groessteMontageHoehe * skalierung + parseFloat($(this).attr("data-planung-h")) * skalierung) - bt; $("#containment_" + containername).css("bottom", bt + "px"); $("#containment_" + containername).css("height", ht + "px"); if($(this).hasClass("fixed_produkt") == false) { $(this).draggable({ containment: $("#containment_" + containername), drag: function( event, ui ) { moving($(this)); }, stop: function( event, ui ) { neuekomponente = ""; stopped($(this)); hideZulaessig(); }, start: function( event, ui ) { createSnaps($(this)); $(".seitenblende_links").remove(); $(".seitenblende_rechts").remove(); showZulaessig(produkte[parseFloat($(this).attr("data-array-id"))][5]); }, }); } } }); $(".strebe_links").css("width",streben_breite + "px"); $(".strebe_links").css("height",streben_hoehe + "px"); $(".strebe_rechts").css("width",streben_breite + "px"); $(".strebe_rechts").css("height",streben_hoehe + "px"); $(".strebe_mittel").css("width",parseFloat(streben_breite*2) + "px"); $(".strebe_mittel").css("height",streben_hoehe + "px"); $(".streben_icon_links").each(function(){ $(this).click(function(){ // popups['streben'].open(); }); }); $(".streben_icon_rechts").each(function(){ $(this).click(function(){ // popups['streben'].open(); }); }); $(".streben_icon_mittel").each(function(){ $(this).click(function(){ // popups['strebe_mittel'].open(); }); }); $(".hinweis_arbeitsplatte_icon").each(function(){ $(this).click(function(){ info_message("Achtung","Eine Arbeitsplatte muss zwingend von zwei Seiten gestützt werden. "); }); }); if(streben_links.length > 0 || streben_rechts.length > 0) { streben_hinweis(); } $(".konfigurator_wand_boden .konfigurator_produkt").each(function(){ if($(this).attr("data-kategorien") == "Arbeitsplatte") { $(this).append('
'); } }); $(".seitliche_abmessungen .anzeige_abmessung").each(function(){ var h = parseFloat($(this).attr("data-hoehe")) * skalierung; $(this).css("width",String(h) + "px"); var b = parseFloat($(this).attr("data-bottom")) * skalierung; $(this).css("left",String(b) + "px"); $(".display_eckschrank_rechts").each(function(){ var os = -80 + (parseFloat($(this).css("bottom")) * -1); $(this).find(".produktbreite").css("bottom",os + "px"); }); $(".display_eckschrank_links").each(function(){ var os2 = -80 + (parseFloat($(this).css("bottom")) * -1); $(this).find(".produktbreite").css("bottom",os2 + "px"); }); }); var maxh = 0; $(".konfigurator_wand_boden .konfigurator_produkt").each(function(){ var oberkante = parseFloat($(this).attr("data-planung-h")) + parseFloat($(this).attr("data-y")); if(oberkante > maxh) { maxh = oberkante; } }); if($(".strebe_mittel").length > 0 || $(".strebe_links").length > 0 || $(".strebe_rechts").length > 0) { maxh = 1980; } if(settings['abmessungen_zeigen'] == true) { $(".seitliche_abmessungen").css("display","block"); $(".produktbreite").css("display","block"); $(".seitliche_abmessungen .hoehenangabe").css("display","none"); switch(maxh) { case 1980: $(".hoehenangabe_1980").css("display","block"); break; case 953: $(".hoehenangabe_953").css("display","block"); break; case 994: $(".hoehenangabe_994").css("display","block"); break; case 1296: $(".hoehenangabe_1296").css("display","block"); break; case 1638: $(".hoehenangabe_1638").css("display","block"); break; } $(".konfigurator_wand_boden .konfigurator_produkt").each(function(){ var oberkante2 = parseFloat($(this).attr("data-planung-h")) + parseFloat($(this).attr("data-y")); switch(oberkante2) { case 1980: $(".l_hoehenangabe_994").css("display","block"); $(".l_hoehenangabe_644").css("display","block"); $(".l_hoehenangabe_342").css("display","block"); break; case 953: $(".l_hoehenangabe_953").css("display","block"); break; case 994: $(".l_hoehenangabe_994").css("display","block"); break; case 1296: $(".l_hoehenangabe_644").css("display","block"); break; case 1638: $(".l_hoehenangabe_644").css("display","block"); break; } }); if($(".l_hoehenangabe_994").css("display") == "block") { $(".l_hoehenangabe_953").css("display","none"); } } else { $(".seitliche_abmessungen").css("display","none"); $(".produktbreite").css("display","none"); } $(".label_height").text("H " + maxh + " mm"); var tiefe = parseFloat($(this).attr("data-planung-")); curbreite = 0; for(p = 0; p < produkte.length; p++) { if(produkte[p][8] == seite) { rechteKante = parseFloat(produkte[p][1]) + parseFloat(produkte[p][3]); if(curbreite < rechteKante) { curbreite = rechteKante; } } } if(seite == "links") { var linke_wandlaenge = (parseFloat($("#wandlaenge_links").val().replace(",",".")) * 1000); curbreite = -1; for(p = 0; p < produkte.length; p++) { if(produkte[p][8] == seite) { linkeKante = parseFloat(produkte[p][1]); if(curbreite > linkeKante || curbreite == -1) { curbreite = linkeKante; } } } curbreite = linke_wandlaenge - curbreite; } var spalten = 0; $(".konfigurator_wand_boden .konfigurator_produkt").each(function(){ if($(this).attr("data-kategorien") == "Arbeitsplatte") { spalten = spalten + parseFloat($(this).attr("data-inklusiveabstand_w")) - parseFloat($(this).attr("data-planung-w")); } }); curbreite = Math.round(curbreite + spalten); $(".label_width").text("L " + curbreite + " mm"); $(".label_depths").text("T " + parseInt(settings['arbeitstiefe'] + movedBy) + " mm"); if(seite == "links") { abmessungsinfo_links = ("Schrankwand-Maße: " + $(".label_abmessungen.label_width").text() + " x " + $(".label_abmessungen.label_height").text() + " x " + $(".label_abmessungen.label_depths").text()); laenge_links = curbreite; } else { abmessungsinfo_rechts = ("Schrankwand-Maße: " + $(".label_abmessungen.label_width").text() + " x " + $(".label_abmessungen.label_height").text() + " x " + $(".label_abmessungen.label_depths").text()); laenge_rechts = curbreite; } var hatStreben = false; for(q = 0; q < produkte.length; q++) { if(produkte[q][7] == "Lochwand") { hatStreben = true; } } if(hatStreben==true && (settings['streben'] == true)) { if(movedBy == 0) { movedBy = moveAmount; if(ueber_eck == true && settings['streben'] == true) { for(n = 0; n < produkte.length; n++) { if(produkte[n][5] != "4047728054904") { // console.log("X VORHER: " + produkte[n][1] + " 10: " + produkte[n][10]); if(produkte[n][8] == "rechts") { produkte[n][1] = produkte[n][1] + movedBy; } else { produkte[n][1] = produkte[n][1] - movedBy; } // console.log("X NACHHER: " + produkte[n][1]); } } redrawPlanung(); return 0; } } } if(hatStreben == false || (settings['streben'] == false)) { if(movedBy > 0 && ueber_eck == true) { var tempAmount = movedBy; movedBy = 0; for(n = 0; n < produkte.length; n++) { if(produkte[n][5] != "4047728054904") { if(produkte[n][8] == "links") { produkte[n][1] = produkte[n][1] + tempAmount; } else { produkte[n][1] = produkte[n][1] - tempAmount; } } } redrawPlanung(); return 0; } } var rechtsP = ""; var linksP = ""; var linke_wandlaenge = (parseFloat($("#wandlaenge_links").val().replace(",",".")) * 1000); var p = 0; var aenderung_links = 0; var aenderung_rechts = 0; if(ueber_eck == true) { if(seite == "links") { aenderung_rechts = -25; } if(seite == "rechts") { aenderung_links = -25; } if(hatStreben == true && (settings['streben'] == true)) { aenderung_rechts = aenderung_rechts - 25; aenderung_links = aenderung_links - 25; } } for(p = 0; p < produkte.length; p++) { t_links = parseFloat(produkte[p][1]); t_hoehe = parseFloat(produkte[p][2]); if(produkte[p][5] == '4047728054904') { t_links = 0; t_hoehe = 0; } t_tiefe = 0; if(produkte[p][7] == "Unterschrank" && settings['arbeitstiefe'] == 700) { if($("#produkt_" + produkte[p][5]).hasClass("extratief_1") == false) { if(produkte[p][3] == "676") { if(produkte[p][8] == 'rechts') { if(rechtsP != "") { rechtsP = rechtsP + ";"; } t_links = t_links + aenderung_rechts; rechtsP = rechtsP + "4047728081627" + "," + t_links + "," + t_hoehe + "," + t_tiefe; } if(produkte[p][8] == 'links') { t_links = (linke_wandlaenge - parseFloat(produkte[p][1]) + aenderung_links); if(linksP != "") { linksP = linksP + ";"; } linksP = linksP + "4047728081627" + "," + t_links + "," + t_hoehe + "," + t_tiefe; } } if(produkte[p][3] == "861") { if(produkte[p][5] == "4047728084215") { if(produkte[p][8] == 'rechts') { if(rechtsP != "") { rechtsP = rechtsP + ";"; } t_links = t_links + aenderung_rechts; rechtsP = rechtsP + "4047728073431" + "," + t_links + "," + t_hoehe + "," + t_tiefe; } if(produkte[p][8] == 'links') { t_links = (linke_wandlaenge - parseFloat(produkte[p][1]) + aenderung_links); if(linksP != "") { linksP = linksP + ";"; } linksP = linksP + "4047728073431" + "," + t_links + "," + t_hoehe + "," + t_tiefe; } } else { if(produkte[p][8] == 'rechts') { if(rechtsP != "") { rechtsP = rechtsP + ";"; } t_links = t_links + aenderung_rechts; rechtsP = rechtsP + "4047728081627X" + "," + t_links + "," + t_hoehe + "," + t_tiefe; } if(produkte[p][8] == 'links') { t_links = (linke_wandlaenge - parseFloat(produkte[p][1]) + aenderung_links); if(linksP != "") { linksP = linksP + ";"; } linksP = linksP + "4047728081627X" + "," + t_links + "," + t_hoehe + "," + t_tiefe; } } } if(produkte[p][5] == "4047728054904") // Eckunterschrank { t_links = t_tiefe + 200; if(rechtsP != "") { rechtsP = rechtsP + ";"; } rechtsP = rechtsP + "4047728081627X" + "," + t_links + "," + t_hoehe + "," + t_tiefe; t_links = 0 + t_tiefe + 200 + 861; if(linksP != "") { linksP = linksP + ";"; } linksP = linksP + "4047728081627X" + "," + t_links + "," + t_hoehe + "," + t_tiefe; } t_tiefe = t_tiefe + 200; } } t_links = parseFloat(produkte[p][1]); t_hoehe = parseFloat(produkte[p][2]); if(produkte[p][5] == '4047728054904') { t_links = t_tiefe; t_hoehe = 0; if(ueber_eck == true && seite == "rechts" && hatStreben == true && (settings['streben'] == true)) { t_links = 225; } } if(produkte[p][8] == 'rechts') { if(rechtsP != "") { rechtsP = rechtsP + ";"; } t_links = t_links + aenderung_rechts; rechtsP = rechtsP + produkte[p][5] + "," + t_links + "," + t_hoehe + "," + t_tiefe; } if(produkte[p][8] == 'links') { t_links = (linke_wandlaenge - parseFloat(produkte[p][1]) + aenderung_links); if(linksP != "") { linksP = linksP + ";"; } if(produkte[p][5] == '4047728076135') { t_links = 220; t_tiefe = 0; } linksP = linksP + produkte[p][5] + "," + t_links + "," + t_hoehe + "," + t_tiefe; } } if(hatStreben == true && (settings['streben'] == true)) { var pos = 0; for(n = 0; n < streben_links.length; n++) { var mittel = false; for(m = 0; m < streben_rechts.length; m++) { if(differenz(streben_links[n],streben_rechts[m]) < 5) { mittel = true; } } if(mittel == false) { pos = Math.floor(parseFloat(streben_links[n] - 2)); if(seite == "links") { linksP = linksP + ";4047728076128L," + parseFloat(linke_wandlaenge - pos - 25) + ",0,-20"; } if(seite == "rechts") { pos = pos - 25; rechtsP = rechtsP + ";4047728076128L," + parseFloat(pos) + ",0,-20"; } } else { pos = Math.floor(parseFloat(streben_links[n] - 54)); if(seite == "links") { linksP = linksP + ";4047728076111," + parseFloat(linke_wandlaenge - pos) + ",0,-20"; } if(seite == "rechts") { pos = pos - 25; rechtsP = rechtsP + ";4047728076111," + parseFloat(pos - 30) + ",0,-20"; } } } for(n = 0; n < streben_rechts.length; n++) { var mittel = false; for(m = 0; m < streben_links.length; m++) { if(differenz(streben_rechts[n],streben_links[m]) < 15) { mittel = true; } } if(mittel == false) { pos = Math.floor(parseFloat(streben_rechts[n])); if(seite == "links") { linksP = linksP + ";4047728076128R," + parseFloat(linke_wandlaenge - pos + 55) + ",0,-20"; } if(seite == "rechts") { pos = pos - 25; rechtsP = rechtsP + ";4047728076128R," + parseFloat(pos-80) + ",0,-20"; } } } for(n = 0; n < streben_links_2.length; n++) { var mittel = false; for(m = 0; m < streben_rechts_2.length; m++) { if(differenz(streben_links_2[n],streben_rechts_2[m]) < 5) { mittel = true; } } if(mittel == false) { pos = Math.floor(parseFloat(streben_links_2[n] - 2)); if(seite == "rechts") { // 50 weg, war zu weit links linksP = linksP + ";4047728076128L," + parseFloat(linke_wandlaenge - pos - 50) + ",0,-20"; } if(seite == "links") { rechtsP = rechtsP + ";4047728076128L," + parseFloat(pos-50) + ",0,-20"; } } else { pos = Math.floor(parseFloat(streben_links_2[n] - 54)); if(seite == "rechts") { linksP = linksP + ";4047728076111," + parseFloat(linke_wandlaenge - pos - 40) + ",0,-20"; } if(seite == "links") { rechtsP = rechtsP + ";4047728076111," + parseFloat(pos - 80) + ",0,-20"; } } } for(n = 0; n < streben_rechts_2.length; n++) { var mittel = false; for(m = 0; m < streben_links_2.length; m++) { if(differenz(streben_rechts_2[n],streben_links_2[m]) < 15) { mittel = true; } } if(mittel == false) { pos = Math.floor(parseFloat(streben_rechts_2[n])); if(seite == "rechts") { // 105 dazu, war zu weit rechts linksP = linksP + ";4047728076128R," + parseFloat(linke_wandlaenge - pos - 80 + 105) + ",0,-20"; } if(seite == "links") { rechtsP = rechtsP + ";4047728076128R," + parseFloat(pos - 80 - 50) + ",0,-20"; } } } } $("#viewpoint").val(seite); $("#tiefe").val(settings["arbeitstiefe"]); $("#left").val(linksP); $("#right").val(rechtsP); $("#single").val(""); } function differenz(p1,p2) { return Math.sqrt(Math.pow((p1 - p2), 2)); } function stopped(whichOne) { var margin = 20; currentlyMoving = ""; var newPos = parseFloat(whichOne.css("left")) / skalierung; var topPos = parseFloat(whichOne.css("top")); whichOne.css("top","auto"); var pixelhoehe = (parseFloat(whichOne.attr("data-planung-h") * skalierung)); var bottomPos = $(".konfigurator_wand").height() - topPos - pixelhoehe; // - (parseFloat(whichOne.attr("data-planung-h") / skalierung)); whichOne.css("bottom",bottomPos + "px"); var newY = parseFloat(whichOne.css("bottom")) / skalierung; var prodIndex = -1; for(p = 0; p < produkte.length; p++) { if(produkte[p][0] == whichOne.attr("id")) { prodIndex = p; } } var tempArray = whichOne.attr("data-planung-montagehoehe").split(","); var abstand = 100000; var calcPosX = newPos; var calcPosY = -1; for(var k = 0; k < tempArray.length; k++) { var diff = differenz(tempArray[k],newY); if(diff < abstand) { abstand = diff; calcPosY = tempArray[k]; } } var snapAbstand = 100; var snappedAt = 1000; var drag_links = calcPosX; var drag_breite = parseFloat(whichOne.attr("data-planung-w")); var drag_hoehe = parseFloat(whichOne.attr("data-planung-h")); // Werkstattwagen sind vom Snap ausgenommen // if(produkte[prodIndex][7] != "Werkstattwagen") // { for(p = 0; p < produkte.length; p++) { if(p != prodIndex && produkte[p][8] == seite) { //if(produkte[p][7] != "Werkstattwagen") // { var produkt_links = parseFloat(produkte[p][1]); var produkt_rechts = produkt_links + parseFloat(produkte[p][3]); var drag_rechts = calcPosX + drag_breite; var xAbstand = differenz(drag_rechts,produkt_links); if(xAbstand < snapAbstand && xAbstand < snappedAt) { calcPosX = produkt_links - drag_breite; snappedAt = xAbstand; } xAbstand = differenz(produkt_rechts,drag_links); if(xAbstand < snapAbstand && xAbstand < snappedAt) { calcPosX = produkt_rechts; snappedAt = xAbstand; } xAbstand = differenz(produkt_links,drag_links); if(xAbstand < snapAbstand && xAbstand < snappedAt) { calcPosX = produkt_links; snappedAt = xAbstand; } xAbstand = differenz(produkt_rechts,drag_rechts); if(xAbstand < snapAbstand && xAbstand < snappedAt) { calcPosX = produkt_rechts - drag_breite; snappedAt = xAbstand; } // } } } // } if(positionFrei(prodIndex,calcPosX,calcPosY,drag_breite,drag_hoehe) == true) { produkte[prodIndex][1] = calcPosX; produkte[prodIndex][2] = calcPosY; } $(".snap_to").each(function(){ $(this).css("left","-1000px"); $(this).css("bottom","-1000px"); $(this).css("width","1px"); $(this).css("height","1px"); }); redrawPlanung(); } function contains(a, b) { return !( b.x1 < a.x1 || b.y1 < a.y1 || b.x2 > a.x2 || b.y2 > a.y2 ); } function overlaps(a, b) { if (a.x1 >= b.x2 || b.x1 >= a.x2) return false; if (a.y1 >= b.y2 || b.y1 >= a.y2) return false; return true; } function touches(a, b) { // has horizontal gap if (a.x1 > b.x2 || b.x1 > a.x2) return false; // has vertical gap if (a.y1 > b.y2 || b.y1 > a.y2) return false; return true; } function lueckenbreite(anfang) { var toReturn = -1; for(p = 0; p < produkte.length; p++) { if(produkte[p][7] != "Zubehoer" && produkte[p][7] != "intern" && produkte[p][8] == seite) { l = parseFloat(produkte[p][1]); u = parseFloat(produkte[p][2]); r = l + parseFloat(produkte[p][3]); o = u + parseFloat(produkte[p][4]); if(u == 0) { var abstand = 0; if(seite == "rechts") { abstand = l - anfang; if(abstand > 0) { if(toReturn == -1) { toReturn = abstand; } else { if(abstand < toReturn) { toReturn = abstand; } } } } else { abstand = anfang - r; if(abstand > 0) { if(toReturn == -1) { toReturn = abstand; } else { if(abstand < toReturn) { toReturn = abstand; } } } } } } } return toReturn; } function positionFrei(ind,links,unten,breite,hoehe) { var toReturn = true; var oben = parseFloat(unten) + parseFloat(hoehe); var rechts = parseFloat(links) + parseFloat(breite); var rect ={ x1:parseFloat(links), y2:parseFloat(oben), x2:parseFloat(rechts), y1:parseFloat(unten) } var l = 0; var u = 0; var r = 0; var o = 0; for(p = 0; p < produkte.length; p++) { if(p != ind && produkte[p][7] != "Zubehoer" && produkte[p][7] != "intern" && produkte[p][8] == seite) { l = parseFloat(produkte[p][1]); u = parseFloat(produkte[p][2]); r = l + parseFloat(produkte[p][3]); o = u + parseFloat(produkte[p][4]); var check ={ x1:l, y2:o, x2:r, y1:u } if(contains(rect,check) || overlaps(rect,check)) { return false; } if(links == l && u == unten && r == rechts && o == oben) { toReturn = false; } if(l <= links && r >= (links + breite) && parseFloat(produkte[p][2]) <= unten) { if(unten <= parseFloat(produkte[p][2]) && oben <= parseFloat(produkte[p][4]) && oben > parseFloat(produkte[p][2])) { toReturn = false; } if(unten >= parseFloat(produkte[p][2]) && oben >= parseFloat(produkte[p][4]) && unten < parseFloat(produkte[p][4])) { toReturn = false; } } } } for(v = 0; v < unzulaessige.length; v++) { l = parseFloat(unzulaessige[v][0]); r = l + parseFloat(unzulaessige[v][1]); if(links <= l && rechts > l) { return false; } if(links < r && rechts >= r) { return false; } if(links == l && rechts == r) { return false; } } if(ueber_eck == true) { $(".display_eckschrank").each(function(){ var linkeKante = parseFloat($(this).attr("data-x")); var rechteKante = parseFloat($(this).attr("data-x")) + parseFloat($(this).attr("data-planung-w")); if((links <= linkeKante) && (rechts > linkeKante)) { toReturn = false; } if((links < rechteKante) && (rechts > rechteKante)) { toReturn = false; } }); } return toReturn; } function moving(whichOne){ } var currentlyMoving = ""; function createSnaps(whichOne) { if(currentlyMoving != whichOne.attr("id") && whichOne.attr("data-kategorien") != "Werkstattwagen") { currentlyMoving = whichOne.attr("id"); // die Snap Helper plazieren var curH = parseFloat(whichOne.attr("data-planung-montagehoehe")); var curIndex = 0; var taken = Array(); $(".konfigurator_wand .konfigurator_produkt").each(function(){ if($(this).attr("id") != whichOne.attr("id")) { var prod = $(this); var se = $("#snap_to_" + curIndex); var p = parseFloat(prod.attr("data-array-id")); se.css("width","1px"); se.css("height","1000px"); posi = parseFloat(parseFloat(produkte[p][1] * skalierung)); if(taken.indexOf(posi) < 0) { taken[taken.length] = posi; se.css("left",posi + "px"); se.css("bottom","0"); curIndex++; } } }); $(".konfigurator_wand .konfigurator_produkt").each(function(){ if($(this).attr("id") != whichOne.attr("id")) { var prod = $(this); var se = $("#snap_to_" + curIndex); var p = parseFloat(prod.attr("data-array-id")); se.css("width","1px"); se.css("height","1000px"); posi = parseFloat(parseFloat(produkte[p][1]) * skalierung + parseFloat(produkte[p][3]) * skalierung); if(taken.indexOf(posi) < 0) { taken[taken.length] = posi; se.css("left",posi + "px"); se.css("bottom","0"); curIndex++; } } }); } } function updateLabels() { // aktualisiert die Labels Kategorieüberschriften mit der neuen Anzahl $(".konfigurator_dropdown").each(function(){ var count = 0; var kategorie = $(this).attr("data-kategorie"); for(var n=0; n < produkte.length; n++) { if(produkte[n][7].indexOf(kategorie) > -1) { count++; } } if(count == 0) { $(this).find(".labeling").html($(this).attr("data-label")); } else { $(this).find(".labeling").html($(this).attr("data-label") + ' (' + count + ')'); } }); } var neuekomponente = ""; function do_autoplanung(whichOneAll) { whichOneArray = whichOneAll.split(","); for(var nb = 0; nb < whichOneArray.length; nb++) { showZulaessig(whichOneArray[nb]); hideZulaessig(); do_autoplanung_single(whichOneArray[nb]); } } function do_autoplanung_single(whichOne) { var hinzugefuegt = true; var begrenzer = 0; // console.log("DO AUTOPLANUNG SINGLE: " + whichOne); while(hinzugefuegt == true && begrenzer < 200) { begrenzer++; neuekomponente = ""; var new_produkt = $("#produkt_" + whichOne).find(".konfigurator_produkt_holder").html(); var ts = Math.round(1 + new Date()/1000) + Math.floor(Math.random() * Math.floor(1000)); var produkt_id = "p_" + ts; if(new_produkt.indexOf('data-planung-w') > (-1) ) { new_produkt = new_produkt.replace('data-planung-w=','id="' + produkt_id + '" data-planung-w='); } var tempArray = $("#produkt_" + whichOne).attr("data-planung-montagehoehe").split(","); var w = parseFloat($("#produkt_" + whichOne).attr("data-planung-w")); var h = parseFloat($("#produkt_" + whichOne).attr("data-planung-h")); var initPos = -1; var smallestInitPos = 10000000.0; var currentY = -1; var v = 0; for(v = 0; v < tempArray.length; v++) { var baseline = parseFloat(tempArray[v]); initPos = parseFloat(getFreeSpace(w,h,baseline,-1,0)); if(initPos > -1) { var bisher_bevorzugt = false; var jetzt_bevorzugt = false; for(vx = 0; vx < bevorzugte.length; vx++) { if(smallestInitPos == bevorzugte[vx][0]) { bisher_bevorzugt = true; } if(initPos == bevorzugte[vx][0]) { jetzt_bevorzugt = true; } } if(initPos <= smallestInitPos || bisher_bevorzugt == false) { if(bisher_bevorzugt == false && initPos <= smallestInitPos) { if(jetzt_bevorzugt == true) { smallestInitPos = initPos; currentY = baseline; } } if(bisher_bevorzugt == true) { if(jetzt_bevorzugt == true) { if(initPos <= smallestInitPos) { if(jetzt_bevorzugt == true) { smallestInitPos = initPos; currentY = baseline; } } } } } } } if(smallestInitPos < 10000000) { var current_position = smallestInitPos; var moved_position = getMovedPosition(current_position); var standard_position = getStandardPosition(current_position); produkte[produkte.length] = Array(produkt_id,current_position,currentY,w,h,whichOne,new_produkt,$("#produkt_" + whichOne).attr("data-kategorien"),seite,standard_position,moved_position,-1); } else { hinzugefuegt = false; } } redrawPlanung(); updateProduktanzahl(); updateLabels(); } function getMovedPosition(current_position) { if(movedBy > 0) { return current_position; } else { if(seite == "links") { return current_position - moveAmount; } else { return current_position + moveAmount; } } } function getStandardPosition(current_position) { if(seite == "links") { return current_position + movedBy; } else { return current_position - movedBy; } } function addProdukt(whichOne, nk, fixed_position = -1, force_y = -1) { neuekomponente = ""; var new_produkt = $("#produkt_" + whichOne).find(".konfigurator_produkt_holder").html(); var ts = Math.round(1 + new Date()/1000) + Math.floor(Math.random() * Math.floor(1000)); var produkt_id = "p_" + ts; if(new_produkt.indexOf('data-planung-w')>-1) { new_produkt = new_produkt.replace('data-planung-w=','id="' + produkt_id + '" data-planung-w='); } var tempArray = $("#produkt_" + whichOne).attr("data-planung-montagehoehe").split(","); var w = parseFloat($("#produkt_" + whichOne).attr("data-planung-w")); var h = parseFloat($("#produkt_" + whichOne).attr("data-planung-h")); var initPos = -1; var smallestInitPos = 10000000.0; var currentY = parseFloat($("#produkt_" + whichOne).attr("data-planung-montagehoehe")); var v = 0; if(force_y > -1) { tempArray = []; tempArray.length = 0; tempArray = new Array(); tempArray[0] = String(force_y); currentY = force_y; } // Lochwandplatten komplett sollen bevorzugt oben verbaut werden if(whichOne == "4047728073004" || whichOne == "4047728072984") { // Das Baselinearray ändern, damit zuerst oben nach einem Platz gesucht wird tempArray = [995,10]; } for(v = 0; v < tempArray.length; v++) { var baseline = parseFloat(tempArray[v]); if(ueber_eck == false || seite == "rechts") { initPos = parseFloat(getFreeSpace(w,h,baseline,-1,0)); } else { initPos = parseFloat(getFreeSpace(w,h,baseline,-1,0)); } if((whichOne == "4047728073004" || whichOne == "4047728072984") && ueber_eck == true) { // wenn bei den Lochwandplatten komlett bereits oben eine freie Position gefunden wurde, wird das Ergebnis für die unteren Positionen verworfen if(baseline == 10) { if(seite == "rechts") { if(smallestInitPos < 10000000.0 && initPos >= smallestInitPos) { initPos = -1; } } else { if(smallestInitPos < 10000000.0 && initPos <= smallestInitPos) { initPos = -1; } } } } if(initPos > -1) { var bisher_bevorzugt = false; var jetzt_bevorzugt = false; for(vx = 0; vx < bevorzugte.length; vx++) { if(smallestInitPos == bevorzugte[vx][0]) { bisher_bevorzugt = true; } if(initPos == bevorzugte[vx][0]) { jetzt_bevorzugt = true; } } if(initPos <= smallestInitPos || bisher_bevorzugt == false) { if(bisher_bevorzugt == false && initPos <= smallestInitPos) { smallestInitPos = initPos; currentY = baseline; } if(bisher_bevorzugt == true) { if(jetzt_bevorzugt == true) { if(initPos <= smallestInitPos) { smallestInitPos = initPos; currentY = baseline; } } } } if((whichOne == "4047728073004" || whichOne == "4047728072984") && ueber_eck == true) { if(baseline == 10) { if(seite == "links") { if(initPos > smallestInitPos) { smallestInitPos = initPos; currentY = baseline; } } } } } } if(smallestInitPos < 10000000 || fixed_position >= 0) { var current_position = smallestInitPos; if(fixed_position >= 0) { current_position = fixed_position; } var moved_position = getMovedPosition(current_position); var standard_position = getStandardPosition(current_position); produkte[produkte.length] = Array(produkt_id,current_position,currentY,w,h,whichOne,new_produkt,$("#produkt_" + whichOne).attr("data-kategorien"),seite,standard_position,moved_position,fixed_position); if(nk == 1) { neuekomponente = produkt_id; } } else { // kein Platz mehr $(".max_wl_reached").css("display","block"); $(".blocktop").css("display","block"); } redrawPlanung(); updateProduktanzahl(); updateLabels(); if(smallestInitPos < 10000000) { // prüfen, ob die neue Komponente im sichtbaren Bereich ist, ansonsten den Bereich verschieben } return true; } function removeProdukt(whichOne) { var maxpos = -1; var maxid = -1; for(p = 0; p < produkte.length; p++) { if(produkte[p][8] == seite) { if(produkte[p][5] == whichOne) { if($("#" + produkte[p][0]).hasClass("fixed_produkt") == false) { if(seite == "rechts") { if(parseInt(produkte[p][1]) > maxpos) { maxpos = parseInt(produkte[p][1]); maxid = p; } } else { if(parseInt(produkte[p][1]) < maxpos || maxpos == -1) { maxpos = parseInt(produkte[p][1]); maxid = p; } } } } } } if(maxid > -1) { produkte.splice(maxid,1); } redrawPlanung(); updateProduktanzahl(); updateLabels(); } function startdraggingit(whichOne) { neuekomponente = whichOne; redrawPlanung(); var draggable = $("#" + whichOne).draggable(); draggable.simulate('drag',{ dx:10, dy:0 }); $(".luecke").css("display","none"); setTimeout(showZulaessig,50,whichOne.replace("produkt_","")); } function nach_wechsel() { $("#wandlaenge").val($("#wandlaenge_" + seite).val()); var wl = Math.round(parseFloat($("#wandlaenge").val())*100)/100; $("#wandlaenge").val(wl); updateSettings("wandlaenge",wl); var mw = $(".main_content").width(); var ml = (mw - 420 - 30 - (settings['wandlaenge'] * skalierung)) / 2 + 30; if(ml < 100) { ml = 100; } $(".konfigurator_wand").css("margin-left",ml + "px"); // $(".main_content").css("background-position","top 0 left " + (ml-13) + "px"); $(".konfigurator_wand").width(parseFloat(settings["wandlaenge"] * skalierung) + "px"); arrange(); redrawPlanung(); updateProduktanzahl(); updateLabels(); if(seite == "links") { var maxml = $(".konfigurator_navigator_background").width() - $(".scrubber").width(); curml = maxml; start_scrubbing(); if(curml < 0) { curml = 0; } $(".scrubber").animate({ left:curml, },1,function(){ end_scrubbing(); }); } redrawPlanung(); } function konfiguration_starten() { var wandlaenge_links_vorher = parseFloat($("#wandlaenge_links").val().replace(",",".")) * 1000; var wandlaenge_rechts_vorher = parseFloat($("#wandlaenge_rechts").val().replace(",",".")) * 1000; $(".page_start").animate({ opacity:0 },500,function(){ $(".page_start").css("display","none"); $(".blocktop").css("display","none"); }); clicked("dropdown",$("#dropdown_unterschrank")); $(".mainmenue .general").css("display","block"); $(".vss_logo").css("display","none"); clearInterval(intervalId); // intervalId = setInterval(checkChat, 2000); $("#wandlaenge").val($("#wandlaenge").val().replace(",",".")); if($("#preview_image_arbeitstiefe").css("display") == "none") { $("#wandlaenge_" + seite).val($("#wandlaenge").val()); } $("#wandlaenge_links").val($("#wandlaenge_links").val().replace(",",".")); $("#wandlaenge_rechts").val($("#wandlaenge_rechts").val().replace(",",".")); if(ueber_eck == true) { $("#wandlaenge").val($("#wandlaenge_" + seite).val()); $("body").removeClass("nue"); $("body").addClass("ue"); $(".only_ue").css("display","inherit"); $(".only_nue").css("display","none"); } else { $("body").removeClass("ue"); $("body").addClass("nue"); $(".only_ue").css("display","none"); $(".only_nue").css("display","inherit"); } var wl = Math.round(parseFloat($("#wandlaenge").val())*100)/100; $("#wandlaenge").val(wl); var wl_links = Math.round(parseFloat($("#wandlaenge_links").val())*100)/100; $("#wandlaenge_links").val(wl_links); var wl_rechts = Math.round(parseFloat($("#wandlaenge_rechts").val())*100)/100; $("#wandlaenge_rechts").val(wl_rechts); condi = true; var tempNumber = parseFloat($("#wandlaenge").attr("data-min-val")) / 1000; if(ueber_eck == false) { if((wl >= (parseFloat($("#wandlaenge").attr("data-min-val")) / 1000) && wl <= 20) == false) { condi = false; } } else { var min_l = 883 + 25; if($(".at700").length > 0) { min_l = 1083 + 25; } tempNumber = min_l / 1000; if((wl_links >= tempNumber && wl_links <= 20) == false) { condi = false; } if((wl_rechts >= tempNumber && wl_rechts <= 20) == false) { condi = false; } if(produkte.length > 0) { if(seite == "rechts") { for(p = 0; p < produkte.length; p++) { if(produkte[p][8] == seite) { if(min_l < (produkte[p][1] + produkte[p][3])) { min_l = (produkte[p][1] + produkte[p][3]); } } } } else { var l_min = 20000; var l_max = settings['wandlaenge']; for(p = 0; p < produkte.length; p++) { $(".konfigurator_wand_boden .konfigurator_produkt").each(function(){ if($(this).attr("data-x") != undefined) { if(parseFloat($(this).attr("data-x")) < l_min) { l_min = parseFloat($(this).attr("data-x")); } } }); } min_l = l_max - l_min; } tempNumber = min_l / 1000; if(seite == "links") { if(laenge_links > 0) { tempNumber = laenge_links; } } if(seite == "rechts") { if(laenge_rechts > 0) { tempNumber = laenge_rechts; } } if(tempNumber > (parseFloat($("#wandlaenge").val())* 1000)) { condi = false; if(seite == "rechts") { $("#wandlaenge").val(wandlaenge_rechts_vorher / 1000); $("#wandlaenge_rechts").val(wandlaenge_rechts_vorher / 1000); $("#wandlaenge_links").val(wandlaenge_links_vorher / 1000); } else { $("#wandlaenge").val(wandlaenge_links_vorher / 1000); $("#wandlaenge_rechts").val(wandlaenge_rechts_vorher / 1000); $("#wandlaenge_links").val(wandlaenge_links_vorher / 1000); } } } } if(condi == true) { updateSettings("wandlaenge",wl); if(ueber_eck == true) { var wandlaenge_links_nachher = parseFloat($("#wandlaenge_links").val().replace(",",".")) * 1000; var wandlaenge_links_differenz = wandlaenge_links_vorher - wandlaenge_links_nachher; if(wandlaenge_links_differenz != 0) { for(n = 0; n < produkte.length; n++) { if(produkte[n][8] == "links") { produkte[n][1] = produkte[n][1] - wandlaenge_links_differenz; produkte[n][9] = produkte[n][9] - wandlaenge_links_differenz; produkte[n][10] = produkte[n][10] - wandlaenge_links_differenz; } } } } if(settings["arbeitstiefe"] == 500 || settings["arbeitstiefe"] == 700) { $(".abblende").animate({ opacity:0 },500,function(){ $(".konfigurator_wand").width(0); var mw = $(".main_content").width(); var ml = (mw - 420 - 30 - (settings['wandlaenge'] * skalierung)) / 2 + 30; if(ml < 100) { ml = 100; } $(".konfigurator_wand").css("margin-left",ml + "px"); // $(".main_content").css("background-position","top 0 left " + (ml-13) + "px"); $(".abblende").css("display","none"); $(".konfigurator").css("opacity","0"); $(".konfigurator").css("display","block"); arrange(true); $(".konfigurator").animate({ opacity:100 },500,function(){ $(".konfigurator_wand").animate({ width:(parseFloat(settings["wandlaenge"] * skalierung) + "px"), },1000,function(){ arrange(); if(loaded == true) { redrawPlanung(); } updateProduktanzahl(); updateLabels(); }); }); }); $(".wandeinstellung").animate({ opacity:0 },500,function(){ $(".wandeinstellung").css("display","none"); }); $(".wandeinstellung_ueber_eck").animate({ opacity:0 },500,function(){ $(".wandeinstellung_ueber_eck").css("display","none"); }); redrawPlanung(); konfiguration_starten_step_2(); } else { info_message("Achtung","Bitte wähle die Arbeitstiefe aus."); } } else { var tstr = "Die Wand kann zwischen x m und y m lang sein."; tstr = tstr.replace(" x "," " + (tempNumber/1000).toFixed(2) + " "); tstr = tstr.replace(" y "," 20.00 "); info_message("Achtung",tstr); } } function aendereLinkeWandLaenge(wandlaenge_links_nachher) { var wandlaenge_links_vorher = settings['wandlaenge']; var wandlaenge_links_differenz = wandlaenge_links_vorher - wandlaenge_links_nachher; $("#wandlaenge_links").val(wandlaenge_links_nachher / 1000); settings['wandlaenge'] = wandlaenge_links_nachher; if(wandlaenge_links_differenz != 0) { for(n = 0; n < produkte.length; n++) { if(produkte[n][8] == "links") { produkte[n][1] = produkte[n][1] - wandlaenge_links_differenz; produkte[n][9] = produkte[n][9] - wandlaenge_links_differenz; produkte[n][10] = produkte[n][10] - wandlaenge_links_differenz; } } } redrawPlanung(); } function konfiguration_starten_step_2() { $(".lang_select").each(function(){ $(this).remove(); }); if(tutorial_shown == false) { tutorial_shown = true; $(".tutorial").css("opacity","0"); $(".tutorial").css("display","block"); $(".blocktop").css("display","block"); $(".lang_select").each(function(){ $(this).remove(); }); arrange(); $(".tutorial").animate({ opacity:1 },500); } } function updateProduktanzahl() { var gesamtanzahl = 0; $(".konfigurator_interface_right_inner .produkt").each(function(){ var anzahl = 0; for(var p = 0; p < produkte.length; p++) { if(produkte[p][5] == $(this).attr("data-ean")) { anzahl++; gesamtanzahl++; } } $(this).attr("data-anzahl",anzahl); $(this).find(".anzahl").text($(this).attr("data-anzahl")); var anzahl = parseFloat($(this).attr("data-anzahl")); var anzahl_max = parseFloat($(this).attr("data-anzahl-max")); var anzahl_min = parseFloat($(this).attr("data-anzahl-min")); if(anzahl > anzahl_min) { $(this).find(".minus").removeClass("minreached"); } else { $(this).find(".minus").addClass("minreached"); } if(anzahl < anzahl_max) { $(this).find(".plus").removeClass("maxreached"); } else { $(this).find(".plus").addClass("maxreached"); } }); updateWarenkorbanzahl(); } function checkNumberInput() { var e = event || window.event; // get event object var key = e.keyCode || e.which; // get key cross-browser if ((key < 48 || key > 57) && key != 188 && key != 190 && key != 46 && key != 8 && key != 13 && key != 96 && key != 97 && key != 98 && key != 99 && key != 100 && key != 101 && key != 102 && key != 103 && key != 104 && key != 105 ) { //if it is not a number ascii code //Prevent default action, which is inserting character if (e.preventDefault) e.preventDefault(); //normal browsers e.returnValue = false; //IE } } function clicked(whichOne,parameter) { currentlyDragging = false; neuekomponente = ""; hideZulaessig(); switch(whichOne) { case "btn_eigene_konfiguration": $(".abblende").css("opacity","0"); $(".abblende").css("display","block"); $(".blocktop").css("display","block"); $(".abblende").animate({ opacity:1 },500); $(".page_start").animate({ opacity:0 },500,function(){ $(".page_start").css("display","none"); }); $(".konfigurationstyp_auswahl").css("opacity","0"); $(".konfigurationstyp_auswahl").css("display","block"); arrange(); $(".konfigurationstyp_auswahl").animate({ opacity:1 },500); break; case "wandlaenge_zeile": $(".konfigurationstyp_auswahl").animate({ opacity:0 },500,function(){ $(".konfigurationstyp_auswahl").css("display","none"); }); $(".wandeinstellung").css("opacity","0"); $(".wandeinstellung").css("display","block"); arrange(); $("#wandlaenge").val(settings["wandlaenge"].toFixed(2).replace(".",",")); updateArbeitstiefe(); $(".wandeinstellung").animate({ opacity:1 },500); break; case "wandlaenge_ueber_eck": $(".konfigurationstyp_auswahl").animate({ opacity:0 },500,function(){ $(".konfigurationstyp_auswahl").css("display","none"); }); $(".wandeinstellung_ueber_eck").css("opacity","0"); $(".wandeinstellung_ueber_eck").css("display","block"); arrange(); $("#wandlaenge_links").val(settings["wandlaenge"].toFixed(2).replace(".",",")); $("#wandlaenge_rechts").val(settings["wandlaenge"].toFixed(2).replace(".",",")); updateArbeitstiefe(); $(".wandeinstellung_ueber_eck").animate({ opacity:1 },500); break; case "btn_standard_konfiguration": info_message("Achtung","Diese Funktion wird noch umgesetzt. / This function is still in development."); break; case "btn_jetzt_starten": $(".tutorial").animate({ opacity:0 },500,function(){ $(".tutorial").css("display","none"); $(".blocktop").css("display","none"); }); break; case "dropdown": $(".picto").each(function(){ if($(this).attr("data-kategorie") == parameter.attr("data-kategorie")) { $(this).addClass("picto_aktiv"); } else { $(this).removeClass("picto_aktiv"); } }); if(parameter.hasClass("dropdown_closed") && (parameter.hasClass("dropdown_disabled")== false)) { $(".dropdown_opened").each(function(){ $(this).removeClass("dropdown_opened"); $(this).addClass("dropdown_closed"); }); parameter.removeClass("dropdown_closed"); parameter.addClass("dropdown_opened"); filter(parameter); } else { /* parameter.removeClass("dropdown_opened"); parameter.addClass("dropdown_closed"); $(".picto").each(function(){ $(this).removeClass("picto_aktiv"); }); */ } $(".konfigurator_dropdown").each(function(){ if($(this).hasClass("dropdown_opened")) { $(this).css("display","block"); } else { $(this).css("display","none"); } }); arrange(); break; case "arbeitstiefe_500": settings["arbeitstiefe"] = 500; updateArbeitstiefe(); break; case "arbeitstiefe_700": settings["arbeitstiefe"] = 700; updateArbeitstiefe(); break; case "arbeitstiefe_500_uebereck": settings["arbeitstiefe"] = 500; updateArbeitstiefe(); break; case "arbeitstiefe_700_uebereck": settings["arbeitstiefe"] = 700; updateArbeitstiefe(); break; case "btn_konfiguration_starten": $("#wandlaenge_rechts").val($("#wandlaenge").val()); // Wandlängeneingabe prüfen undoarray = Array(); undoarray[0] = Array(); if($(".ue").length == 0) { ueber_eck = false; } konfiguration_starten(); break; case "btn_wand_wechseln_rechts": seite = "links"; nach_wechsel(); break; case "btn_wand_wechseln_links": seite = "rechts"; nach_wechsel(); break; case "btn_konfiguration_starten_uebereck": undoarray = Array(); undoarray[0] = Array(); ueber_eck = true; konfiguration_starten(); break; case "plus": var anzahl = parseFloat($("#produkt_" + parameter).attr("data-anzahl")); var anzahl_max = parseFloat($("#produkt_" + parameter).attr("data-anzahl-max")); addProdukt(parameter,0); updateProduktanzahl(); neuekomponente = ""; break; case "minus": var anzahl = parseFloat($("#produkt_" + parameter).attr("data-anzahl")); var anzahl_min = parseFloat($("#produkt_" + parameter).attr("data-anzahl-min")); if(anzahl > anzahl_min) { removeProdukt(parameter); updateProduktanzahl(); updateLabels(); } break; case "autoplanung": do_autoplanung(parameter); updateProduktanzahl(); break; case "schalter": var drp = parameter.replace("schalter","dropdown"); if($("#" + parameter).hasClass("schalter_ja")) { $("#" + parameter).removeClass("schalter_ja"); $("#" + parameter).addClass("schalter_nein"); $("#" + parameter.replace("schalter","dropdown")).addClass("dropdown_disabled"); $("#" + parameter.replace("schalter","dropdown")).removeClass("dropdown_opened"); $("#" + parameter.replace("schalter","dropdown")).addClass("dropdown_closed"); if(parameter == "schalter_seitenblenden") { settings['seitenblenden'] = false; } if(parameter == "schalter_streben") { settings['streben'] = true; } if(parameter == "schalter_abmessungen") { settings['abmessungen_zeigen'] = false; } } else { $("#" + parameter).removeClass("schalter_nein"); $("#" + parameter).addClass("schalter_ja"); $("#" + parameter.replace("schalter","dropdown")).removeClass("dropdown_disabled"); if(parameter == "schalter_seitenblenden") { settings['seitenblenden'] = true; } if(parameter == "schalter_streben") { settings['streben'] = false; } if(parameter == "schalter_abmessungen") { settings['abmessungen_zeigen'] = true; } }; redrawPlanung(); break; case "btn_zuruecksetzen": $(".conf_reset").css("display","block"); $(".blocktop").css("display","block"); break; } } function arrange(before_draw = false){ var w = $(window).width(); var h = $(window).height(); $("body").height(h + "px"); var debugtext = "1: " + w + " x " + h; var mw = $(".menue_desktop").width(); var mh = $(".mainmenue").height(); slide_zubehoer(); skalierung = 0.25; $(".main_content").css("background-size","auto 75.1rem"); $("body").removeClass("links"); $("body").removeClass("rechts"); $("body").addClass(seite); $(".dropdown_opened .konfigurator_dropdown_produkte").css("height", (h - 160 - $(".mainmenue").height() - $(".abschluss").height()) + "px"); /* if(h < 900) { $(".dropdown_opened .konfigurator_dropdown_produkte").css("height", (h - 240) + "px"); } else { $(".dropdown_opened .konfigurator_dropdown_produkte").css("height", (h - 400) + "px"); } */ skalierung = scalemode; var wh = parseFloat(1980 * skalierung); var maxh = h - $(".mainmenue").height() - 80 ; var wand_tp = ((maxh - wh) / 2); if(wand_tp < 70) { if($(".tosmall").css("display") != "block") { skalierung = (maxh - 140) / 1980; scalemode = skalierung; wand_tp = 70; } } $(".konfigurator_wand").css("margin-top",wand_tp + "px"); var nbgsk = 75.1 / (0.25 / skalierung); var m = -833.33333333; var t = 208.3333333; var bg_top_pos = parseInt(m * skalierung + t); bg_top_pos = wand_tp - 100; var ml = (mw - 420 - 30 - (settings['wandlaenge'] * skalierung)) / 2 + 30; if(ml < 100) { ml = 100; } $(".konfigurator_wand").css("margin-left",ml + "px"); $(".main_content").css("background-position","top " + bg_top_pos + "px left " + (ml-13) + "px"); $(".main_content").css("background-size","auto " + nbgsk + "rem"); $(".scrubber").css("left","0"); var ttp = parseFloat($(".konfigurator_wand").css("margin-top")) + parseFloat($(".konfigurator_wand").height()); $(".seitliche_abmessungen").css("top",ttp + "px"); $(".size_workspace").each(function(){ $(this).css("width",mw + "px"); $(this).css("height",(h - mh) + "px"); }); $("#topdown").attr("width",$(".size_workspace").width()); $("#topdown").attr("height",$(".size_workspace").height() - 120); $(".footer_menue").each(function(){ $(this).css("width",mw + "px"); }); $(".wandeinstellung_inner").each(function(){ var weih = $(this).height(); var wei_pt = parseFloat((h - mh - weih) / 2); if(wei_pt < 0) { wei_pt = 0; } $(this).css("padding-top",wei_pt + "px"); debugtext = debugtext + "
3: " + wei_pt; }); $(".konfigurator_interface_right_inner_scrollpane").each(function(){ $(this).height(h - $(".mainmenue").height() - 10 - $(".abschluss").height()); }); if(typeof settings !== 'undefined' && before_draw == false) { var wandbreite = settings['wandlaenge'] * skalierung; $(".konfigurator_wand").each(function(){ $(this).width(wandbreite); $(this).height(1980 * skalierung); debugtext = debugtext + "
4: " + skalierung; var ml = (mw - 420 - 30 - (settings['wandlaenge'] * skalierung)) / 2 + 30; if(ml < 100) { ml = 100; $(".konfigurator_navigator").width($(".konfigurator_navigator").height() * $(this).width() / $(this).height()); $(".konfigurator_navigator").css("display","block"); var sichtbar = $(".konfigurator").width() - 484; var scrubberwidth = (sichtbar / wandbreite) * $(".konfigurator_navigator").width(); $(".scrubber").width(scrubberwidth); $(".mover").css("display","block"); } else { $(".konfigurator_navigator").css("display","none"); $(".mover").css("display","none"); } if($(".konfigurator_navigator").width() < scrubberwidth + 10) { $(".konfigurator_navigator").css("display","none"); $(".mover").css("display","none"); } $(this).css("margin-left",ml + "px"); }); } debugtext = debugtext + "
ende"; $("#debug").html(debugtext); if(seite == "links") { var maxml = $(".konfigurator_navigator_background").width() - $(".scrubber").width(); curml = maxml; if(curml < 0) { curml = 0; } start_scrubbing(); $(".scrubber").animate({ left:curml, },1,function(){ end_scrubbing(); }); } if($(".topdown").css("display") == "block") { drawTopDown("view"); } } function scrubbing() { var pos = parseFloat($(".scrubber").css("left")); var maxpos = parseFloat($(".konfigurator_navigator").width()) - parseFloat($(".scrubber").width()) - 3; var proz = 0; if(pos > 0) { proz = (1 / (maxpos / pos)); } if(pos == maxpos) { proz = 1; } var sichtbar = $(".konfigurator").width() - 484; var wandbreite = settings['wandlaenge'] * skalierung; var wandminpos = 100; var wandmaxpos = wandbreite - sichtbar - 30 + wandminpos; var newpos = wandminpos - ((wandmaxpos) * proz); $(".konfigurator_wand").css("margin-left",newpos + "px"); var bpos = ($(".main_content").css("background-position")); var bpos_array = bpos.split(" "); var pars = "top " + bpos_array[3] + " left " + (newpos-13) + "px"; $(".main_content").css("background-position",pars); } function filter(whichOne) { var aktive_filter = Array(); whichOne.find(".kriterium_aktiv").each(function(){ aktive_filter[aktive_filter.length] = $(this).find(".klabel").attr("data-filter"); }); whichOne.find(".produkt").each(function(){ var display = "none"; $(this).find(".filter").each(function(){ if(aktive_filter.indexOf($(this).text()) > -1) { display = "block"; } }); if($(this).find(".filter").length == 0) { display = "block"; } if($(this).attr("data-tiefen").indexOf(settings["arbeitstiefe"]) < 0) { display = "none"; } $(this).css("display",display); }); } function filterClicked(whichOne) { whichOne.parent().find(".kriterium_aktiv").each(function(){ $(this).removeClass("kriterium_aktiv"); $(this).addClass("kriterium_inaktiv"); }); whichOne.addClass("kriterium_aktiv"); whichOne.removeClass("kriterium_inaktiv"); filter(whichOne.parent().parent()); } function slide_previous(whichSlider) { var curIndex = parseFloat($("#" + whichSlider).attr("data-current-slide")); var targetIndex = curIndex - 1; if(targetIndex < 0) { targetIndex = 0; } if(curIndex != targetIndex) { slide_to(whichSlider,targetIndex); } } function slide_next(whichSlider) { var curIndex = parseFloat($("#" + whichSlider).attr("data-current-slide")); var targetIndex = curIndex + 1; if(targetIndex > $("#" + whichSlider + " .slider_punkt").length - 1) { targetIndex = $("#" + whichSlider + " .slider_punkt").length -1; } if(curIndex != targetIndex) { slide_to(whichSlider,targetIndex); } } function slide_to(whichSlider,whichIndex) { var newpos = 0 - parseFloat(whichIndex) * 165; $(".slider_image_holder").stop().animate({ left:newpos },200,function(){ $("#" + whichSlider).attr("data-current-slide",whichIndex); $(".slider_punkt .aktiv").css("display","none"); $(".slider_punkt .inaktiv").css("display","inline-block"); $(".slider_punkt_" + whichIndex + " .aktiv").css("display","inline-block"); $(".slider_punkt_" + whichIndex + " .inaktiv").css("display","none"); }); } function new_info_message(data) { $(".newinfomessage .content").html(data); $(".newinfomessage").css("display","block"); $(".blocktop").css("display","block"); } function sendMail(mail,mailname,firmenname,kundenname,kundennummer) { currentlyDragging = false; neuekomponente = ""; hideZulaessig(); mywidth = getMaxExtend(); var scalefactor = 600 / mywidth; if(scalefactor > 1) { scalefactor = 1; } $(".konfigurator_wand").css("padding-left","10px"); $(".konfigurator_wand").css("background-color","rgba(255,255,255,0)"); $(".konfigurator_wand").css("border-left","0"); $(".konfigurator_wand").css("border-right","0"); $(".gut_holder").css("margin-top","5000px"); /* $(".containment").css("width","0%"); html2canvas($(".konfigurator_wand")[0],{ width:mywidth, scale:scalefactor, allowTaint: false, backgroundColor: "rgba(0,0,0,0)", removeContainer: true, logging: false, */ $(".containment").css("width","0%"); html2canvas($(".wk_preview_image_holder_1")[0],{ width:600, scale:1.2, allowTaint: false, backgroundColor: "rgba(0,0,0,0)", removeContainer: true, logging: false, }).then(function(canvas) { $(".containment").css("width","100%"); $(".konfigurator_wand").css("padding-left","0"); $(".konfigurator_wand").css("background-color","rgba(255,255,255,0.5)"); $(".konfigurator_wand").css("border-left","1px solid #df0029;"); $(".konfigurator_wand").css("border-right","1px solid #df0029;"); $(".gut_holder").css("margin-top","0px"); var data = canvas.toDataURL('image/png'); // var win=window.open("print.php?img=" + btoa(data)); var liste = getProduktliste(); var tempstring = ""; $("#tempo").html(liste); var xls = ""; $("#tempo").find(".list_produkt").each(function(){ tempstring = tempstring + ""; tempstring = tempstring + ""; if($(this).find(".vpe_hinweis").length > 0) { tempstring = tempstring + ""; } xls = xls + $(this).find(".produktbezeichnung").text() + "~,~" + $(this).find(".produktno").text() + "~,~" + $(this).find(".anzahl").text() + "~,~" + $(this).find(".produktgesamtpreis").text(); if($(this).find(".vpe_hinweis").length > 0) { xls = xls + "~,~" + $(".vpe_hinweis").text(); } else { xls = xls + "~,~"; } xls = xls + "~;~"; }); xls = xls + "~,~~,~Summe~,~" + $(".abschluss .preis").text() + "~,~UVP | zzg. MwSt"; tempstring = tempstring + "




" + $(this).find(".produktbezeichnung").html() + "
" + $(this).find(".produktno").html() + "
" + $(this).find(".lbh").html(); var verfuegbar = ""; $(this).find(".wiederverfuegbar").each(function(){ if($(this).css("display") == "block" && $(this).hasClass("wiederverfuegbar_gruen")) { verfuegbar = " " + $(this).text(); } if($(this).css("display") == "block" && $(this).hasClass("wiederverfuegbar_gelb")) { verfuegbar = " " + $(this).text(); } if($(this).css("display") == "block" && $(this).hasClass("wiederverfuegbar_rot")) { verfuegbar = " " + $(this).text(); } }); tempstring = tempstring + "
Menge: " + $(this).find(".anzahl").text() + "
" + verfuegbar + "
" + $(this).find(".produktgesamtpreis").html() + "
" + $(".vpe_hinweis").html() + "

"; tempstring = tempstring + "

Gesamtkosten: " + $(".abschluss .preis").text() + "
UVP | zzg. MwSt

"; $("#tempo").html(""); var abmessungen = abmessungsinfo_rechts; var abmessungen2 = ""; if(ueber_eck == true) { abmessungen2 = abmessungsinfo_links; } var preis = ($(".abschluss .preis").text()); var img = (btoa(data)); var img2 = ""; var img3 = ""; if(ueber_eck == true) { img2 = (btoa(data2)); } img3 = (btoa(data3)); var exportstringkorrektur = ""; Object.keys(korrektur).forEach(key => { if(exportstringkorrektur != "") { exportstringkorrektur = exportstringkorrektur + ";"; } exportstringkorrektur = exportstringkorrektur + key + "," + korrektur[key]; }); var wl_links = parseFloat($("#wandlaenge_links").val()) * 1000; var wl_rechts = parseFloat($("#wandlaenge_rechts").val()) * 1000; var exportstring = JSON.stringify( { code:code, produkte, wandlaenge:settings['wandlaenge'], wandlaenge_links:wl_links, wandlaenge_rechts:wl_rechts, arbeitstiefe:settings['arbeitstiefe'], seitenblenden:settings['seitenblenden'], streben:settings['streben'], korrektur:exportstringkorrektur, xlsinfo:xls, movedBy:movedBy, }); var mailscript = "sendmail.php"; if(mailscript == "sendmail.php") { $.post('sendmail.php?',{ json_string:exportstring, email:mail, mailname:mailname, firmenname:firmenname, kundennummer:kundennummer, kundenname:kundenname, img:img, img2:img2, img3:img3, liste:tempstring, ueber_eck:ueber_eck, abmessungen:abmessungen, abmessungen2:abmessungen2, preis:preis, }, function(data){ $(".waiter").css("display","none"); $(".mailquery").css("display","none"); $(".blocktop").css("display","none"); if(resetAfterSave == true && data.indexOf("Die Konfiguration wurde versandt. ") > 0) { $(".conf_reset").css("display","none"); produkte = Array(); korrektur = Array(); $(".anzahl").each(function(){ $(this).text("0"); }); $("#wk").css("display","none"); redrawPlanung(); updateLabels(); } new_info_message(data); }); } }); } function showTopDown(){ $(".topdown").css("opacity","0"); $(".topdown").css("display","block"); $(".blocktop").css("display","block"); $(".topdown").css("z-index","55555"); $(".topdown").animate({ opacity:1 },500); drawTopDown("view"); } function saveKonfiguration(){ if(produkte.length == 0) { info_message("Hinweis","Du hast noch keine Planung erstellt, die Du speichern könntest."); } else { hideZulaessig(); showWarenkorb(); $(".mailquery").css("opacity","0"); $(".mailquery").css("display","block"); $(".blocktop").css("display","block"); $(".mailquery").css("z-index","55555"); $(".mailquery").animate({ opacity:1 },500,function(){ }); } } function showChat() { /* $(".chat_icon").css("display","block"); $(".hilfe_icon").css("display","none"); */ } function hideChat() { /* $(".chat_icon").css("display","none"); $(".hilfe_icon").css("display","block"); */ } function checkChat() { } function checkChatX() { clearInterval(intervalId); $.post('checkChat.php?',{ id:code, }, function(data){ if(data == "0" && chat == true) { chat = false; hideChat(); } else { if(chat == false) { intervalId = setInterval(checkChat,10000); chat = true; showChat(); } if(data != "0") { intervalId = setInterval(checkChat,2000); $(".chat_window_messageview_inner").html(data); $(".chat_window_messageview_inner").scrollTop($(".chat_window_messageview_inner")[0].scrollHeight); } else { intervalId = setInterval(checkChat,10000); if($(".chat_window_messageview_inner").html().indexOf("Unser Support ist momentan offline.") < 0) { $(".chat_window_messageview_inner").html($(".chat_window_messageview_inner").html() + "

Unser Support ist momentan offline.

"); } $(".chat_window_messageview_inner").scrollTop($(".chat_window_messageview_inner")[0].scrollHeight); } } }); } function reformat(input) { var output = input.replace(/(?:\r\n|\r|\n)/g, '
'); return output; } function sendeNachrich() { } function sendeNachrichtX() { newtext = reformat($("#chat_input").val()); $.post('sendMessage.php?',{ id:code, message:newtext, }, function(data){ checkChat(); } ); $("#chat_input").val(""); } var curLoop = 0; var checkStart = 0; function combineArbeitsplattenX() { redrawPlanung(); } function werkstattwagenDarunter(whichOne) { var linkeKante = parseFloat(produkte[whichOne][1]); var rechteKante = linkeKante + parseFloat(produkte[whichOne][3]); for(var p = 0; p < produkte.length; p++) { if(produkte[p][7] == "Werkstattwagen" && (produkte[p][8] == seite || ueber_eck == false)) { var p_l = parseFloat(produkte[p][1]); var p_r = parseFloat(produkte[p][3]) + p_l; if(p_l >= linkeKante && p_l <= rechteKante) { return true; } if(p_r >= linkeKante && p_r <= rechteKante) { return true; } } } return false; } function optimizeArbeitsplatten() { curLoop++; var somethingChanged = false; var a_1 = -1; var a_2 = -1; var a_3 = -1; var schmalste = 0; var p = 0; for(p = 0; p < produkte.length; p++) { if(produkte[p][7] == "Arbeitsplatte" && (produkte[p][8] == seite || ueber_eck == false)) { linkeKante = parseFloat(produkte[p][1]); if(linkeKante >= checkStart && werkstattwagenDarunter(p) == false) { if(a_1 == -1) { a_1 = p; } else { if(parseFloat(produkte[a_1][1] > linkeKante)) { a_1 = p; } } } } } if(a_1 > -1) { schmalste = parseFloat(produkte[a_1][3]); for(p = 0; p < produkte.length; p++) { if(produkte[p][7] == "Arbeitsplatte" && (produkte[p][8] == seite || ueber_eck == false)) { linkeKante = parseFloat(produkte[p][1]); if(linkeKante == (parseFloat(produkte[a_1][1]) + parseFloat(produkte[a_1][3])) && werkstattwagenDarunter(p) == false) { a_2 = p; if(schmalste > parseFloat(produkte[a_2][3])) { schmalste = parseFloat(produkte[a_2][3]); } } } } if(a_2 > -1) { for(p = 0; p < produkte.length; p++) { if(produkte[p][7] == "Arbeitsplatte" && (produkte[p][8] == seite || ueber_eck == false)) { linkeKante = parseFloat(produkte[p][1]); if(linkeKante == (parseFloat(produkte[a_2][1]) + parseFloat(produkte[a_2][3])) && werkstattwagenDarunter(p) == false) { a_3 = p; if(schmalste > parseFloat(produkte[a_3][3])) { schmalste = parseFloat(produkte[a_3][3]); } } } } if(a_3 > -1) { var a_gesamtlaenge = (parseFloat(produkte[a_3][1]) + parseFloat(produkte[a_3][3])) - parseFloat(produkte[a_1][1]); $("#dropdown_arbeitsplatte .produkt").each(function(){ if(parseFloat($(this).attr("data-planung-w")) >= schmalste && somethingChanged == false) { if($(this).find(".filter").text() == arbeitsplattentyp) { var ersatz_1 = $(this); var laenge_1 = parseFloat($(this).attr("data-planung-w")); if(laenge_1 == (parseFloat(produkte[a_1][3])) || laenge_1 == (parseFloat(produkte[a_1][3]) + parseFloat(produkte[a_2][3]))) { var laenge_2 = a_gesamtlaenge - laenge_1 $("#dropdown_arbeitsplatte .produkt").each(function(){ if(parseFloat($(this).attr("data-planung-w")) == laenge_2 && somethingChanged == false) { if($(this).find(".filter").text() == arbeitsplattentyp) { ersatz_2 = $(this); somethingChanged = true; var a_anfang = parseFloat(produkte[a_1][1]); produkte.splice(a_3,1); produkte.splice(a_2,1); produkte.splice(a_1,1); var linkeKante = a_anfang; var whichOne = ersatz_1.attr("data-ean"); var new_produkt = $("#produkt_" + whichOne).find(".konfigurator_produkt_holder").html(); var ts = Math.round(1 + new Date()/1000) + Math.floor(Math.random() * Math.floor(1000)); var produkt_id = "p_" + ts; if(new_produkt.indexOf('data-planung-w')>-1) { new_produkt = new_produkt.replace('data-planung-w=','id="' + produkt_id + '" data-planung-w='); } var alreadyThere = false; for(u = 0; u < produkte.length; u++) { if(produkte[u][7] == "Arbeitsplatte" && parseFloat(produkte[u][1]) == parseFloat(linkeKante) && u!=v && (produkte[u][8] == seite || ueber_eck == false)) { alreadyThere = true; } } if(alreadyThere == false) { var current_position = linkeKante; var moved_position = getMovedPosition(current_position); var standard_position = getStandardPosition(current_position); var tAr = Array(produkt_id,current_position,954,laenge_1,40,whichOne,new_produkt,$("#produkt_" + whichOne).attr("data-kategorien"),seite,standard_position,moved_position); produkte[produkte.length] = tAr; } var linkeKante2 = a_anfang + laenge_1; var whichOne2 = ersatz_2.attr("data-ean"); var new_produkt2 = $("#produkt_" + whichOne2).find(".konfigurator_produkt_holder").html(); var ts2 = Math.round(1 + new Date()/1000) + Math.floor(Math.random() * Math.floor(1000)) + 1; var produkt_id2 = "p_" + ts2; if(new_produkt2.indexOf('data-planung-w')>-1) { new_produkt2 = new_produkt2.replace('data-planung-w=','id="' + produkt_id2 + '" data-planung-w='); } var alreadyThere2 = false; for(u = 0; u < produkte.length; u++) { if(produkte[u][7] == "Arbeitsplatte" && parseFloat(produkte[u][1]) == parseFloat(linkeKante2) && u!=v && (produkte[u][8] == seite || ueber_eck == false)) { alreadyThere2 = true; } } if(alreadyThere2 == false) { var current_position2 = linkeKante2; var moved_position2 = getMovedPosition(current_position2); var standard_position2 = getStandardPosition(current_position2); var tAr2 = Array(produkt_id2,current_position2,954,laenge_2,40,whichOne2,new_produkt2,$("#produkt_" + whichOne2).attr("data-kategorien"),seite,standard_position2,moved_position2); produkte[produkte.length] = tAr2; } } } }); } } } }); } } } if(somethingChanged == true && curLoop < 200) { optimizeArbeitsplatten(); } else { if(somethingChanged == false && curLoop < 200 && a_1 > -1) { checkStart = parseFloat(produkte[a_1][1]) + 10; optimizeArbeitsplatten(); } else { redrawPlanung(); updateLabels(); updateProduktanzahl(); } } } function isEinzelplatte(whichOne) { var breite = parseFloat(produkte[whichOne][3]); if(breite == 676 || breite == 861) { return true; } else { return false; } } function combineArbeitsplatten() { var p = 0 curLoop++; var somethingChanged = false; var einzelplatten = Array(); for(p = 0; p < produkte.length; p++) { if(produkte[p][7] == "Arbeitsplatte" && (produkte[p][8] == seite || ueber_eck == false)) { if(isEinzelplatte(p)) { einzelplatten[einzelplatten.length] = Array(p,parseFloat(produkte[p][1]),parseFloat(produkte[p][3]),parseFloat(produkte[p][1]) + parseFloat(produkte[p][3]), produkte[p][0]); } } } var toReplace = Array(); var startPlatte = -1; var z = 0; for(z = 0; z < einzelplatten.length; z++) { if(einzelplatten[z][1] >= checkStart) { if(startPlatte == -1) { startPlatte = z; } else { if(einzelplatten[z][1] < einzelplatten[startPlatte][1]) { startPlatte = z; } } } } var nebeneinander = Array(); nebeneinander[nebeneinander.length] = startPlatte; if(startPlatte >= 0) { var ct = 0; var currentIndex = startPlatte; var gefunden = true; while(gefunden = true && ct < 100) { ct++; gefunden = false; for(z = 0; z < einzelplatten.length; z++) { if(einzelplatten[z][1] == einzelplatten[currentIndex][3]) { nebeneinander[nebeneinander.length] = z; currentIndex = z; gefunden = true; } } } for(var k = 0; k < nebeneinander.length; k++) { toReplace[toReplace.length] = einzelplatten[nebeneinander[k]]; } if(nebeneinander.length > 1) { for(k = 0; k < nebeneinander.length; k++) { for(p = 0; p < produkte.length; p++) { if(produkte[p][0] == einzelplatten[nebeneinander[k]][4]) { produkte.splice(p,1); } } } var dreier = 0; var zweier = 0; var einser = 0; var rest = nebeneinander.length; dreier = Math.floor(rest / 3); rest = rest - (dreier * 3); zweier = Math.floor(rest / 2); rest = rest - (zweier * 2); einer = rest; rest = 0; if(einer == 1 && dreier > 0) { einer = 0; dreier = dreier - 1; zweier = zweier + 2; } var currentIndex = 0; while(currentIndex < toReplace.length - 1) { var laengen = 0; if(dreier > 0) { dreier = dreier - 1; laenge = toReplace[currentIndex + 2][3] - toReplace[currentIndex][1]; $("#dropdown_arbeitsplatte .produkt").each(function(){ if(parseFloat($(this).attr("data-planung-w")) == laenge && $(this).find(".filter").text() == arbeitsplattentyp && (parseFloat($(this).attr("data-tiefen")) == parseFloat(settings['arbeitstiefe']))) { var whichOne = $(this).attr("data-ean"); var new_produkt = $("#produkt_" + whichOne).find(".konfigurator_produkt_holder").html(); var ts = Math.round(1 + new Date()/1000) + Math.floor(Math.random() * Math.floor(1000)); var produkt_id = "p_" + ts; var linkeKante = toReplace[currentIndex][1]; var b = laenge; if(new_produkt.indexOf('data-planung-w')>-1) { new_produkt = new_produkt.replace('data-planung-w=','id="' + produkt_id + '" data-planung-w='); } var alreadyThere = false; for(u = 0; u < produkte.length; u++) { if(produkte[u][7] == "Arbeitsplatte" && parseFloat(produkte[u][1]) == parseFloat(linkeKante) && u!=v && (produkte[u][8] == seite || ueber_eck == false)) { alreadyThere = true; } } if(alreadyThere == false) { var current_position = linkeKante; var moved_position = getMovedPosition(current_position); var standard_position = getStandardPosition(current_position); var tAr = Array(produkt_id,current_position,954,b,40,whichOne,new_produkt,$("#produkt_" + whichOne).attr("data-kategorien"),seite,standard_position,moved_position); produkte[produkte.length] = tAr; } } }); currentIndex = currentIndex + 3; } else { if(zweier > 0) { zweier = zweier - 1; laenge = toReplace[currentIndex + 1][3] - toReplace[currentIndex][1]; $("#dropdown_arbeitsplatte .produkt").each(function(){ if(parseFloat($(this).attr("data-planung-w")) == laenge && $(this).find(".filter").text() == arbeitsplattentyp && (parseFloat($(this).attr("data-tiefen")) == parseFloat(settings['arbeitstiefe']))) { var whichOne = $(this).attr("data-ean"); var new_produkt = $("#produkt_" + whichOne).find(".konfigurator_produkt_holder").html(); var ts = Math.round(1 + new Date()/1000) + Math.floor(Math.random() * Math.floor(1000)); var produkt_id = "p_" + ts; var linkeKante = toReplace[currentIndex][1]; var b = laenge; if(new_produkt.indexOf('data-planung-w')>-1) { new_produkt = new_produkt.replace('data-planung-w=','id="' + produkt_id + '" data-planung-w='); } var alreadyThere = false; for(u = 0; u < produkte.length; u++) { if(produkte[u][7] == "Arbeitsplatte" && parseFloat(produkte[u][1]) == parseFloat(linkeKante) && u!=v && (produkte[u][8] == seite || ueber_eck == false)) { alreadyThere = true; } } if(alreadyThere == false) { var current_position = linkeKante; var moved_position = getMovedPosition(current_position); var standard_position = getStandardPosition(current_position); var tAr = Array(produkt_id,current_position,954,b,40,whichOne,new_produkt,$("#produkt_" + whichOne).attr("data-kategorien"),seite,standard_position,moved_position); produkte[produkte.length] = tAr; } } }); currentIndex = currentIndex + 2; } } } } } if(toReplace.length > 0 && curLoop < 200) { checkStart = toReplace[toReplace.length-1][3]; combineArbeitsplatten(); } else { redrawPlanung(); updateLabels(); updateProduktanzahl(); } } function combineArbeitsplattenX() { curLoop++; var linkeKante = 0; var rechteKante = 0; var somethingChanged = false; for(p = 0; p < produkte.length; p++) { if(produkte[p][7] == "Arbeitsplatte" && (produkte[p][8] == seite || ueber_eck == false)) { linkeKante = parseFloat(produkte[p][1]); rechteKante = parseFloat(produkte[p][1]) + parseFloat(produkte[p][3]); for(v = 0; v < produkte.length; v++) { if(somethingChanged == false) { if(produkte[v][7] == "Arbeitsplatte" && p!=v && (produkte[v][8] == seite || ueber_eck == false)) { linkeKanteV = parseFloat(produkte[v][1]); rechteKanteV = parseFloat(produkte[v][1]) + parseFloat(produkte[v][3]); if(rechteKante == linkeKanteV) { var b = parseFloat(rechteKanteV - linkeKante); $("#dropdown_arbeitsplatte .produkt").each(function(){ if(parseFloat($(this).attr("data-planung-w")) == b) { if($(this).find(".filter").text() == arbeitsplattentyp && somethingChanged == false) { var whichOne = $(this).attr("data-ean"); var new_produkt = $("#produkt_" + whichOne).find(".konfigurator_produkt_holder").html(); var ts = Math.round(1 + new Date()/1000) + Math.floor(Math.random() * Math.floor(1000)); var produkt_id = "p_" + ts; if(new_produkt.indexOf('data-planung-w')>-1) { new_produkt = new_produkt.replace('data-planung-w=','id="' + produkt_id + '" data-planung-w='); } somethingChanged = true; if(p > v) { produkte.splice(p,1); produkte.splice(v,1); } else { produkte.splice(v,1); produkte.splice(p,1); } var alreadyThere = false; for(u = 0; u < produkte.length; u++) { if(produkte[u][7] == "Arbeitsplatte" && parseFloat(produkte[u][1]) == parseFloat(linkeKante) && u!=v && (produkte[u][8] == seite || ueber_eck == false)) { alreadyThere = true; } } if(alreadyThere == false) { var current_position = linkeKante; var moved_position = getMovedPosition(current_position); var standard_position = getStandardPosition(current_position); var tAr = Array(produkt_id,current_position,954,b,40,whichOne,new_produkt,$("#produkt_" + whichOne).attr("data-kategorien"),seite,standard_position,moved_position); produkte[produkte.length] = tAr; } } } }); } } } } } } if(somethingChanged == true && curLoop < 200) { combineArbeitsplatten(); } else { redrawPlanung(); updateLabels(); updateProduktanzahl(); } } var cont = true; var beruecksichtigt = Array(); function show3Dscene() { var tempanz = ($("#imwarenkorb").text().split("(")); var tempanz2 = tempanz[1].split(")"); var anz = tempanz2[0]; if(anz != "0") { redrawPlanung(); $.alert({ boxWidth: '80%', boxHeight: '90%', useBootstrap: false, title: '', content: '', onContentReady: function () { $("#single").val(""); setTimeout(show3d,1000); } }); } else { info_message("","Die Planung ist leer."); } } function checkNext700Arbeitsplatte() { cont = false; var erstes = -1; var startx = 10000000; var endx = -1; var zweier = false; var dreier = false; var breite = 0; var ignore = Array(); // Positionen an denen ein Werkstattwagen steht sollen nur berücksichtigt werden, wenn links und rechts davon ein Unterschrank steht for(p = 0; p < produkte.length; p++) { if(produkte[p][7] == "Werkstattwagen" && (produkte[p][8] == seite || ueber_eck == false)) { if(beruecksichtigt.indexOf(produkte[p][1]) < 0) { var checklinks = parseFloat(produkte[p][1]); var checkrechts = parseFloat(produkte[p][1]) + parseFloat(produkte[p][3]); var linksok = false; var rechtsok = false; for(u = 0; u < produkte.length; u++) { if(produkte[u][7] == "Unterschrank" && (produkte[u][8] == seite || ueber_eck == false)) { linkeKante = parseFloat(produkte[u][1]); rechteKante = parseFloat(produkte[u][1]) + parseFloat(produkte[u][3]); if(linkeKante == checkrechts) { rechtsok = true; } if(rechteKante == checklinks) { linksok = true; } } } if(rechtsok == false || linksok == false) { ignore[ignore.length] = checklinks; } } } } for(p = 0; p < produkte.length; p++) { if((produkte[p][7] == "Unterschrank" || produkte[p][7] == "Lochwand" || produkte[p][7] == "Werkstattwagen") && (produkte[p][8] == seite || ueber_eck == false) && (produkte[p][5] != "4047728054904")) { linkeKante = parseFloat(produkte[p][1]); if(ignore.indexOf(linkeKante) < 0) { rechteKante = parseFloat(produkte[p][1]) + parseFloat(produkte[p][3]); if(linkeKante < startx && beruecksichtigt.indexOf(produkte[p][0]) < 0) { beruecksichtigt[beruecksichtigt.length] = produkte[p][0]; startx = linkeKante; endx = rechteKante; breite = rechteKante - linkeKante; erstes = p; cont = true; } } } } // prüfen, ob eine zweier Arbeitsplatte verlegt werden kann for(p = 0; p < produkte.length; p++) { for(p = 0; p < produkte.length; p++) { if((produkte[p][7] == "Unterschrank" || produkte[p][7] == "Lochwand" || produkte[p][7] == "Werkstattwagen") && (produkte[p][8] == seite || ueber_eck == false) && (produkte[p][5] != "4047728054904")) { linkeKante = parseFloat(produkte[p][1]); if(ignore.indexOf(linkeKante) < 0) { rechteKante = parseFloat(produkte[p][1]) + parseFloat(produkte[p][3]); if(breite == (rechteKante - linkeKante) && linkeKante == startx + breite) { zweier = true; } } } } } // prüfen, ob eine dreier Arbeitsplatte verlegt werden kann if(zweier == true) { for(p = 0; p < produkte.length; p++) { if((produkte[p][7] == "Unterschrank" || produkte[p][7] == "Lochwand" || produkte[p][7] == "Werkstattwagen") && (produkte[p][8] == seite || ueber_eck == false) && (produkte[p][5] != "4047728054904")) { linkeKante = parseFloat(produkte[p][1]); if(ignore.indexOf(linkeKante) < 0) { rechteKante = parseFloat(produkte[p][1]) + parseFloat(produkte[p][3]); if(breite == (rechteKante - linkeKante) && linkeKante == startx + breite + breite) { zweier = false; dreier = true; } } } } } var b = 0; if(zweier == true) { b = breite * 2; } if(dreier == true) { b = breite * 3; } if(zweier == true || dreier == true) { p = erstes; var done = false; $("#dropdown_arbeitsplatte .produkt").each(function(){ if(parseFloat($(this).attr("data-tiefen")) == parseFloat(settings['arbeitstiefe'])) { if(done == false) { if(parseFloat($(this).attr("data-planung-w")) == b) { if($(this).find(".filter").text() == arbeitsplattentyp) { var whichOne = $(this).attr("data-ean"); var new_produkt = $("#produkt_" + whichOne).find(".konfigurator_produkt_holder").html(); var ts = Math.round(1 + new Date()/1000) + Math.floor(Math.random() * Math.floor(1000)); var produkt_id = "p_" + ts; if(new_produkt.indexOf('data-planung-w')>-1) { new_produkt = new_produkt.replace('data-planung-w=','id="' + produkt_id + '" data-planung-w='); } var alreadyThere = false; for(u = 0; u < produkte.length; u++) { if(produkte[u][7] == "Arbeitsplatte" && parseFloat(produkte[u][1]) == parseFloat(produkte[p][1]) && (produkte[u][8] == seite || ueber_eck == false)) { alreadyThere = true; } } if(alreadyThere == false) { var current_position = parseFloat(produkte[p][1]); var moved_position = getMovedPosition(current_position); var standard_position = getStandardPosition(current_position); produkte[produkte.length] = Array(produkt_id,current_position,954,b,40,whichOne,new_produkt,$("#produkt_" + whichOne).attr("data-kategorien"),seite,standard_position,moved_position,-1); } done = true; // alle Produkte unterhalb der neuen Arbeitsplatte als berücksichtigt speichern for(p = 0; p < produkte.length; p++) { if((produkte[p][7] == "Unterschrank" || produkte[p][7] == "Lochwand" || produkte[p][7] == "Werkstattwagen") && (produkte[p][8] == seite || ueber_eck == false) && (produkte[p][5] != "4047728054904")) { linkeKante = parseFloat(produkte[p][1]); if(linkeKante < startx + b) { if(beruecksichtigt.indexOf(produkte[p][0]) < 0) { beruecksichtigt[beruecksichtigt.length] = produkte[p][0]; } } } } } } } } }); } } var blockiertDurchWerkstattwagen = Array(); function arbeitsplattenPlanen() { var done = false; var b = 0; for(v = produkte.length-1; v >= 0; v--) { if(produkte[v][7] == "Arbeitsplatte" && (produkte[v][8] == seite || ueber_eck == false) ) { if(produkte[v][5] != "4047728075022" && produkte[v][5] != "4047728073202" && produkte[v][5] != "4047728075039" && produkte[v][5] != "4047728073219") { produkte.splice(v,1); redrawPlanung(); updateLabels(); updateProduktanzahl(); } } } blockiertDurchWerkstattwagen = Array(); for(p = 0; p < produkte.length; p++) { if(produkte[p][7] == "Werkstattwagen" && (produkte[p][8] == seite || ueber_eck == false)) { var checklinks = parseFloat(produkte[p][1]); var checkrechts = parseFloat(produkte[p][1]) + parseFloat(produkte[p][3]); var linksok = -1; var rechtsok = -1; for(u = 0; u < produkte.length; u++) { if(produkte[u][7] == "Unterschrank" && (produkte[u][8] == seite || ueber_eck == false) && (produkte[u][5] != "4047728054904")) { linkeKante = parseFloat(produkte[u][1]); rechteKante = parseFloat(produkte[u][1]) + parseFloat(produkte[u][3]); if(linkeKante == checkrechts) { rechtsok = u; } if(rechteKante == checklinks) { linksok = u; } } } if(rechtsok == -1 || linksok == -1) { blockiertDurchWerkstattwagen[blockiertDurchWerkstattwagen.length] = checklinks; } else { blockiertDurchWerkstattwagen[blockiertDurchWerkstattwagen.length] = checklinks; // gucken, ob man eine Arbeitsplatte planen kann linkeKante = parseFloat(produkte[linksok][1]); rechteKante = parseFloat(produkte[rechtsok][1]) + parseFloat(produkte[rechtsok][3]); done = false; b = rechteKante - linkeKante; $("#dropdown_arbeitsplatte .produkt").each(function(){ if(parseFloat($(this).attr("data-tiefen")) == parseFloat(settings['arbeitstiefe'])) { if(done == false) { if(parseFloat($(this).attr("data-planung-w")) == b) { if($(this).find(".filter").text() == arbeitsplattentyp) { var whichOne = $(this).attr("data-ean"); var new_produkt = $("#produkt_" + whichOne).find(".konfigurator_produkt_holder").html(); var ts = Math.round(1 + new Date()/1000) + Math.floor(Math.random() * Math.floor(1000)); var produkt_id = "p_" + ts; if(new_produkt.indexOf('data-planung-w')>-1) { new_produkt = new_produkt.replace('data-planung-w=','id="' + produkt_id + '" data-planung-w='); } var alreadyThere = false; for(u = 0; u < produkte.length; u++) { if(produkte[u][7] == "Arbeitsplatte" && parseFloat(produkte[u][1]) == parseFloat(produkte[p][1]) && (produkte[u][8] == seite || ueber_eck == false)) { alreadyThere = true; } } if(ueber_eck == true) { if(linkeKante < 100 || rechteKante > (settings['wandlaenge'] - 100)) { alreadyThere = true; } } if(alreadyThere == false) { var current_position = parseFloat(linkeKante); var moved_position = getMovedPosition(current_position); var standard_position = getStandardPosition(current_position); produkte[produkte.length] = Array(produkt_id,current_position,954,b,40,whichOne,new_produkt,$("#produkt_" + whichOne).attr("data-kategorien"),seite,standard_position,moved_position,-1); } done = true; } } } } }); } } } for(p = 0; p < produkte.length; p++) { if((produkte[p][7] == "Unterschrank" || produkte[p][7] == "Lochwand") && (produkte[p][8] == seite || ueber_eck == false) && (produkte[p][5] != "4047728054904")) { done = false; b = parseFloat(produkte[p][3]); linkeKante = parseFloat(produkte[p][1]); rechteKante = parseFloat(produkte[p][1]) + b; if(produkte[p][7] == "Unterschrank") { if(b ==676) { for(h = 0; h < produkte.length; h++) { if(produkte[h][7] == "Stützen" && parseFloat(produkte[h][3]) == 185 && (produkte[h][8] == seite || ueber_eck == false)) { if(rechteKante == produkte[h][1]) { rechteKante = rechteKante + 185; b = 861; } if(linkeKante == parseFloat(produkte[h][1]) + 185) { linkeKante = linkeKante - 185; b = 861; } } } } } $("#dropdown_arbeitsplatte .produkt").each(function(){ if(parseFloat($(this).attr("data-tiefen")) == parseFloat(settings['arbeitstiefe'])) { if(done == false) { if(parseFloat($(this).attr("data-planung-w")) == b) { if($(this).find(".filter").text() == arbeitsplattentyp) { var whichOne = $(this).attr("data-ean"); var new_produkt = $("#produkt_" + whichOne).find(".konfigurator_produkt_holder").html(); var ts = Math.round(1 + new Date()/1000) + Math.floor(Math.random() * Math.floor(1000)); var produkt_id = "p_" + ts; if(new_produkt.indexOf('data-planung-w')>-1) { new_produkt = new_produkt.replace('data-planung-w=','id="' + produkt_id + '" data-planung-w='); } var alreadyThere = false; for(u = 0; u < produkte.length; u++) { if(produkte[u][7] == "Arbeitsplatte" && (produkte[u][8] == seite || ueber_eck == false)) { linkeKanteDa = parseFloat(produkte[u][1]); rechteKanteDa = parseFloat(produkte[u][1]) + parseFloat(produkte[u][3]); if(linkeKanteDa <= linkeKante && rechteKanteDa >linkeKante) { alreadyThere = true; } } if(produkte[u][7] == "Lochwand" && produkte[u][2] == "10") { linkeKanteDa = parseFloat(produkte[u][1]); rechteKanteDa = parseFloat(produkte[u][1]) + parseFloat(produkte[u][3]); if(linkeKanteDa <= linkeKante && rechteKanteDa >linkeKante) { alreadyThere = true; } } } if(ueber_eck == true) { if(linkeKante < 100 || rechteKante > (settings['wandlaenge'] - 100)) { alreadyThere = true; } } if(alreadyThere == false) { var current_position = parseFloat(linkeKante); var moved_position = getMovedPosition(current_position); var standard_position = getStandardPosition(current_position); produkte[produkte.length] = Array(produkt_id,current_position,954,b,40,whichOne,new_produkt,$("#produkt_" + whichOne).attr("data-kategorien"),seite,standard_position,moved_position,-1); } done = true; } } } } }); } } curLoop = 0; checkStart = 0; combineArbeitsplatten(); /* checkStart = 0; curLoop = 0; optimizeArbeitsplatten(); curLoop = 0; combineArbeitsplatten(); curLoop = 0; */ // replace_one_three(); setTimeout(updateProduktanzahl,750); } function showArbeitsplattenWarnung(){ $.confirm({ boxWidth: '30%', useBootstrap: false, title: "Arbeitsplatten automatisch planen", content: "Bereits verlegte Arbeitsplatten werden ersetzt. Du kannst die Arbeitsplatten jederzeit manuell austauschen. ", buttons: { Abbrechen: function () { }, Weiter: function () { arbeitsplattenPlanen(); }, } }); } function capture() { $(".waiter").css("display","block"); showWarenkorb(); setTimeout(doPrint,3000); } function captureX() { $(".waiter").css("display","block"); var scalefactor = 3; mywidth = getMaxExtend(); $(".konfigurator_wand").css("background-color","rgba(255,255,255,0)"); $(".konfigurator_wand").css("border-left","0"); $(".konfigurator_wand").css("border-right","0"); $(".konfigurator_wand").css("padding-left","10px"); $(".gut_holder").css("margin-top","5000px"); $(".containment").css("width","0%"); html2canvas($(".konfigurator_wand")[0],{ width:mywidth, scale:scalefactor, allowTaint: false, backgroundColor: "rgba(0,0,0,0)", removeContainer: true, logging: false, }).then(function(canvas) { $(".containment").css("width","100%"); $(".waiter").css("display","none"); $(".konfigurator_wand").css("background-color","rgba(255,255,255,0.5)"); $(".konfigurator_wand").css("border-left","1px solid #df0029;"); $(".konfigurator_wand").css("border-right","1px solid #df0029;"); $(".konfigurator_wand").css("padding-left","0"); $(".gut_holder").css("margin-top","0"); var data = canvas.toDataURL('image/png'); // var win=window.open("print.php?img=" + btoa(data)); doPrint(); }); } function doPrint() { var liste = getProduktliste(); var abmessungen = abmessungsinfo_rechts; var abmessungen2 = ""; if(ueber_eck == true) { abmessungen2 = abmessungsinfo_links; } var preis = ($(".abschluss .preis").text()); $("#printform #imagedata").val(btoa(data)); if(ueber_eck == true) { $("#printform #imagedata2").val(btoa(data2)); $("#printform #ueber_eck").val("true"); } $("#printform #imagedata3").val(btoa(data3)); $("#printform #liste").val(liste); $("#printform #abmessungen").val(abmessungen); $("#printform #abmessungen2").val(abmessungen2); $("#printform #preis").val(preis); $("#printform").submit(); $(".waiter").css("display","none"); } function wandlaengeaendern() { arrange(); var minimalebreite = 700; for(p = 0; p < produkte.length; p++) { var rechts_p = parseFloat(produkte[p][1]) + parseFloat(produkte[p][3]); if(minimalebreite < rechts_p) { minimalebreite = rechts_p; } } $("#preview_image_arbeitstiefe").css("display","none"); $(".wandeinstellung_inner").css("padding-top","100px"); $(".wandeinstellung_inner #btn_konfiguration_starten .btn_label").text("Zurück zur Konfiguration"); $(".wandeinstellung_text h2").text("Hier kannst Du Deine Wandlänge ändern."); $(".wandeinstellung_text p").html("Die minimale Wandlänge beträgt momentan: " + parseFloat(minimalebreite/1000).toFixed(2).replace(".",",") + "m"); $(".wandeinstellung_inner").css("padding-top","20rem"); $(".wandeinstellung #btn_konfiguration_starten .btn_label").text("Wandlänge ändern"); $(".wandeinstellung_formular_links").text("Neue Wandlänge"); $(".wandeinstellung_formular_links").css("width","24rem"); $(".wandeinstellung_formular_row").css("width","42rem"); $(".wandeinstellung_formular_rechts").css("width","18rem"); $(".tiefeneinstellung").remove(); $(".wandeinstellung .closer").css("display","block"); $("#wandlaenge").attr("data-min-val",minimalebreite); $(".abblende").css("display","block"); $(".abblende").css("z-index","55555"); $(".abblende").animate({ opacity:1 },500); $(".wandeinstellung").css("display","block"); $(".wandeinstellung").css("z-index","55555"); $(".wandeinstellung").animate({ opacity:1 },500); $(".blocktop").css("display","block"); } var zubehoer_pos = 0; function slide_zubehoer() { /* $(".zubehoerslider_inner").stop().animate({ marginLeft: String(parseInt(-32 * zubehoer_pos)) + "rem" }, 500); */ $(".zubehoerslider_inner").stop().animate({ marginLeft: String(parseInt(-1 * ($(".zubehoerprodukt").width() + 20) * zubehoer_pos)) + "px" }, 500); } function generateZufriedenbild() { $(".konfigurator_wand").css("background-color","rgba(255,255,255,0)"); $(".konfigurator_wand").css("border-left","0"); $(".konfigurator_wand").css("border-right","0"); $(".konfigurator_wand").css("padding-left","10px"); $(".gut_holder").css("margin-top","5000px"); mywidth = getMaxExtend(); if(mywidth < 600) { mywidth = 600; } var scalefactor = 754 / getMaxExtend(); if(scalefactor > 1) { scalefactor = 1; } $(".containment").css("width","0%"); html2canvas($(".konfigurator_wand")[0],{ width:mywidth, scale:scalefactor, allowTaint: false, backgroundColor: "rgba(0,0,0,0)", removeContainer: true, logging: false, }).then(function(canvas) { $(".containment").css("width","100%"); $(".konfigurator_wand").css("background-color","rgba(255,255,255,0.5)"); $(".konfigurator_wand").css("border-left","1px solid #df0029;"); $(".konfigurator_wand").css("border-right","1px solid #df0029;"); $(".konfigurator_wand").css("padding-left","0"); $(".gut_holder").css("margin-top","0"); var data = canvas.toDataURL('image/png'); $("#zufriedenbild").attr("src",data); }); } var laststate = "normal"; var lastscalemode = 0.25; function fullscreenSwitched() { if(screen.height === window.innerHeight) { $(".fullscreen_btn").css("display","none"); $(".fullscreen_end_btn").css("display","inline-block"); if(laststate == "normal") { laststate = "full"; arrange(); redrawPlanung(); } } else { $(".fullscreen_btn").css("display","inline-block"); $(".fullscreen_end_btn").css("display","none"); if(laststate == "full") { laststate = "normal"; arrange(); redrawPlanung(); } } if(scalemode != lastscalemode) { lastscalemode = scalemode; /* if(scalemode > 0.1) { $(".zoom_btn").css("display","inline-block"); $(".zoom_end_btn").css("display","none"); } if(scalemode <= 0.1) { $(".zoom_btn").css("display","none"); $(".zoom_end_btn").css("display","inline-block"); } */ arrange(); redrawPlanung(); } } var scrubinterval = 0; function start_scrubbing() { clearInterval(scrubinterval); scrubinterval = setInterval(scrubbing,20); } function end_scrubbing() { clearInterval(scrubinterval); scrubbing(); } var arbeitsplattentyp = ""; $(document).ready(function(){ if($("#langinfo").text() == "de" && client == "") { $(".deutsch").css("display","inherit"); } else { $(".international").css("display","inherit"); } var curml = 0; $(".move_left").click(function(){ curml = parseInt($(".scrubber").css("left")); curml = curml - 50; if(curml < 0) { curml = 0; } start_scrubbing(); $(".scrubber").animate({ left:curml, },200,function(){ end_scrubbing(); }); }); $(".auswahl_raster_links").click(function(){ clicked('wandlaenge_zeile'); }); $(".auswahl_raster_rechts").click(function(){ clicked('wandlaenge_ueber_eck'); }); $(".move_right").click(function(){ curml = parseInt($(".scrubber").css("left")); curml = curml + 50; var maxml = $(".konfigurator_navigator_background").width() - $(".scrubber").width(); if(curml > maxml) { curml = maxml; } if(curml < 0) { curml = 0; } start_scrubbing(); $(".scrubber").animate({ left:curml, },200,function(){ end_scrubbing(); }); }); new jBox('Tooltip', { attach: '.tooltip', position: { x: 'left', y: 'center' }, outside:'x', }); $(".konfigurator_interface_right_inner .produktbild img").click(function(e){ showZoom($(e.target).parent()); }); $(".arbeitsplatten_button_holz").click(function(){ arbeitsplattentyp = "Holz"; showArbeitsplattenWarnung(); }); $("#lang_selector").mouseover(function(){ $(".h-has-triangle").css("color","#df0029"); }); $("#lang_selector").mouseout(function(){ $(".h-has-triangle").css("color","#ffffff"); }); $(".arbeitsplatten_button_edelstahl").click(function(){ arbeitsplattentyp = "Edelstahl"; showArbeitsplattenWarnung(); }); $("#lang_selector").change(function(){ $("#lang_form").submit(); }); $("#btn_auswahl_speichern").click(function(){ $(".zufrieden").css("display","none"); $(".blocktop").css("display","none"); resetAfterSave = true; saveKonfiguration(); }); $("#btn_auswahl_zubehoer").click(function(){ $(".zufrieden").css("display","none"); $(".zubehoerwahl").css("display","block"); }); $("#btn_auswahl_warenkorb").click(function(){ $(".zufrieden").css("display","none"); hideZulaessig(); showWarenkorb(); $(".blocktop").css("display","none"); }); $("#btn_zubehoer_weiter").click(function(){ $(".zubehoerwahl").css("display","none"); $(".zufrieden").css("display","block"); $(".blocktop").css("display","block"); }); $("#btn_mit_sockelblenden").click(function(){ settings['seitenblenden'] = true; redrawPlanung(); $(".seitenblenden").css("display","none"); generateZufriedenbild(); $(".zufrieden").css("display","block"); $(".blocktop").css("display","block"); if($("#wk").css("display") == "block") { showWarenkorb(); } }); $("#btn_ohne_sockelblenden").click(function(){ settings['seitenblenden'] = false; redrawPlanung(); $(".seitenblenden").css("display","none"); generateZufriedenbild(); $(".zufrieden").css("display","block"); $(".blocktop").css("display","block"); if($("#wk").css("display") == "block") { showWarenkorb(); } }); $(".closer").click(function(){ $(this).parent().css("display","none"); $(".abblende").css("display","none"); $(".blocktop").css("display","none"); if($(this).parent().hasClass("zubehoerwahl") == true) { if($("#wk").css("display") == "block") { showWarenkorb(); } } if($(this).parent().hasClass("zufrieden") == true) { if($("#wk").css("display") == "block") { showWarenkorb(); } } }); $(".closer_zurueck").click(function(){ $(this).closest(".size_workspace").each(function(){ $(this).css("display","none"); $(".abblende").css("display","none"); $(".blocktop").css("display","none"); if($(this).hasClass("zufrieden") == true) { if($("#wk").css("display") == "block") { showWarenkorb(); } } }); }); $("#btn_laenge_aendern").click(function(){ wandlaengeaendern(); }); $(".undo_btn").click(function(){ undo(); }); $(".fullscreen_btn").click(function(){ enterFullscreen(document.documentElement); }); $(".fullscreen_end_btn").click(function(){ exitFullscreen(); }); $(".draufsicht_btn").click(function(){ showTopDown(); }); $(".zoom_btn_plus").click(function(){ // if($(".konfigurator_navigator").css("display") == "block") // { // scalemode = scalemode + 0.05; scalemode = scalemode + ($(".konfigurator_wand").height() / 15000); /* } else { scalemode = 0.25; } */ arrange(); }); $(".zoom_btn").click(function(){ if($(".konfigurator_navigator").css("display") == "block") { // scalemode = scalemode - 0.05; scalemode = scalemode - ($(".konfigurator_wand").height() / 15000); var sichtbar = $(".konfigurator").width() - $(".konfigurator_interface_right").width(); var wandbreite = settings['wandlaenge']; var miniscale = sichtbar / (wandbreite + 400); if(scalemode < miniscale) { } else { if(scalemode * 0.9 < miniscale) { scalemode = miniscale; } } } arrange(); }); /* $(".chat_icon").click(function(){ if($(".chat_window").css("opacity") == "1") { $(".chat_window").css("display","none"); $(".chat_window").animate({ opacity:0 },500, function(){ $(".chat_window").css("display","none"); }); } else { $(".chat_window").css("opacity",0); $(".chat_window").css("display","block"); $(".chat_window").animate({ opacity:1 },500); $("#chat_input").focus(); } }); $(".senden_icon").click(function(){ sendeNachricht(); }); */ $(".navigator_hinweis_close").click(function(){ // hideNavigatorHinweis(); $(this).parent().css("display","none"); }); $(".save_btn").click(function(){ resetAfterSave = false; saveKonfiguration(); }); $(".save_icon").click(function(){ resetAfterSave = false; saveKonfiguration(); }); $(".schalter").click(function(){ clicked("schalter",$(this).attr("id")); }); $(".btn").click(function(){ clicked($(this).attr("id")); }); $(".radio_arbeitstiefe").click(function(){ clicked($(this).attr("id")); }); $(".picto").click(function(){ var kat = ($(this).attr("data-kategorie")); $(".konfigurator_dropdown").each(function(){ if($(this).attr("data-kategorie") == kat) { clicked("dropdown",$(this)); } }); }); $( window ).resize(function() { arrange(); redrawPlanung(); }); setInterval(fullscreenSwitched,300); arrange(); $(".konfigurator_dropdown_heading").click(function(){ // clicked("dropdown",$(this).parent()); }); $(".plus").click(function(){ clicked("plus",$(this).parent().parent().attr("data-ean")); }); $(".autoplanung").click(function(){ clicked("autoplanung",$(this).attr("data-ean")); }); $(".minus").click(function(){ clicked("minus",$(this).parent().parent().attr("data-ean")); }); if(typeof loaded !== 'undefined') { if(loaded == true) { var wl = settings['wandlaenge'] / 1000; var wl_links = settings['wandlaenge_links'] / 1000; var wl_rechts = settings['wandlaenge_rechts'] / 1000; // clicked("btn_eigene_konfiguration"); $("#wandlaenge").val(wl); $("#wandlaenge_links").val(wl_links); $("#wandlaenge_rechts").val(wl_rechts); if(ueber_eck == false) { clicked("btn_konfiguration_starten"); } else { clicked("btn_konfiguration_starten_uebereck"); } setTimeout(function(){ showWarenkorb(); hideZulaessig(); },2000); } } $(".hilfe").click(function(){ $(".help").css("display","block"); $(".catalogue").css("display","none"); $(".mailform").css("left","-28rem"); $(".mailform").css("display","block"); $(".mailform .the_form").css("display","block"); $(".mailform .form_blocker").css("display","none"); $(".mailform .the_reply").css("display","none"); $(".datenschutz .checkbox").removeClass("act"); $(".mailform").animate({ left:50 },200); }); $(".kataloganfordern").click(function(){ $(".help").css("display","none"); $(".catalogue").css("display","block"); $(".mailform").css("left","-28rem"); $(".mailform").css("display","block"); $(".mailform .the_form").css("display","block"); $(".mailform .form_blocker").css("display","none"); $(".mailform .the_reply").css("display","none"); $(".datenschutz .checkbox").removeClass("act"); $(".mailform").animate({ left:50 },200); }); $(".scrubber").draggable({ axis: "x", containment: "parent", drag: function( event, ui ) { scrubbing(); }, start: function(event, ui){ hideNavigatorHinweis(); } }); $(".kriterium").each(function(){ $(this).click(function(){ filterClicked($(this)); }); }); $("#wandlaenge").change(function(){ var tempNumber = parseFloat($("#wandlaenge").val().replace(",",".")); $("#wandlaenge").val(tempNumber.toFixed(2)); }); $("#wandlaenge_links").change(function(){ var tempNumber = parseFloat($("#wandlaenge_links").val().replace(",",".")); $("#wandlaenge_links").val(tempNumber.toFixed(2)); }); $("#wandlaenge_rechts").change(function(){ var tempNumber = parseFloat($("#wandlaenge_rechts").val().replace(",",".")); $("#wandlaenge_rechts").val(tempNumber.toFixed(2)); }); $(".konfigurator_interface_right_inner .produkt").each(function(){ $(this).mouseover(function(){ if($(this).find(".draghandle").css("display") != "none") { showZulaessig($(this).attr("data-ean")); } }); $(this).mouseout(hideZulaessig); }); $(".checkbox").click(function(){ if($(this).hasClass("act")) { $(this).removeClass("act"); } else { $(this).addClass("act"); } }); $(".senden_btn").click(function(){ if($("#namen").val() == "" || $("#email").val() == "" || $("#nachricht").val() == "" || $(".datenschutz .act").length == 0) { info_message("","Bitte fülle die mit * gekennzeichneten Pflichtfelder aus und akzeptiere den Datenschutzhinweis."); } else { mail = $("#email").val(); mail = mail.trim(); var valid = true; if(mail.indexOf("@") == -1) { valid = false; } if(mail.indexOf(".") == -1) { valid = false; } if(mail.indexOf(" ") > -1) { valid = false; } if(valid == false) { info_message("","Bitte überprüfe Deine E-Mailadresse"); } else { $(".form_blocker").css("display","block"); $(".blocktop").css("display","block"); $.ajax({ type: 'post', url: 'post.php', data: $('form').serialize(), success: function (data) { if((data.trim())!="OK") { info_message("","Es ist ein Fehler aufgetreten. Ist Deine E-Mail Adresse korrekt? Bitte versuche es noch einmal oder schreib uns eine E-Mail an info@vigor.de."); $(".form_blocker").css("display","none"); $(".blocktop").css("display","none"); } else { $(".the_reply").css("display","block"); $(".blocktop").css("display","none"); $(".form_blocker").css("display","none"); $(".the_form").css("display","none"); $(".the_form input").each(function(){ $(this).val(""); }); $(".the_form textarea").each(function(){ $(this).val(""); }); } }, fail: function() { info_message("","Es ist ein Fehler aufgetreten. Ist Deine E-Mail Adresse korrekt? Bitte versuche es noch einmal oder schreib uns eine E-Mail an info@vigor.de."); $(".form_blocker").css("display","none"); $(".blocktop").css("display","none"); }, statusCode: { 404: function(){ alert("page not found"); } } }); } } }); $("#btn_konf_speichern").click(function(){ $("#savemail_input").val($("#savemail_input").val().replaceAll(" ","")); var mail = $("#savemail_input").val(); var mailname = $("#savemail_name_input").val(); var firmenname = "-"; var kundennummer = "-"; var kundenname = "-"; var cb = "-"; if($("#savemail_kundennummer_input").length > 0) { kundennummer = $("#savemail_kundennummer_input").val(); } if($("#savemail_firma_input").length > 0) { firmenname = $("#savemail_firma_input").val(); } if($("#savemail_kundenname_input").length > 0) { kundenname = $("#savemail_kundenname_input").val(); } if($("#foerch_cb").length > 0) { if($("#foerch_cb").is(":checked")) { } else { cb = ""; } } mail = mail.trim(); mailname = mailname.trim(); if(mail != "" && mailname != "" && kundennummer != "" && kundenname != "" && firmenname != "" && cb != "") { mail = mail.trim(); var valid = true; if(mail.indexOf("@") == -1) { valid = false; } if(mail.indexOf(".") == -1) { valid = false; } if(mail.indexOf(" ") > -1) { valid = false; } if(valid == false) { info_message("","Bitte überprüfe Deine E-Mailadresse"); } else { $(".mailquery").css("display","none"); $(".waiter").css("display","block"); $(".blocktop").css("display","block"); sendMail(mail,mailname,firmenname,kundenname,kundennummer); } } }); $(".print_icon").click(function(){ capture(); }); $("#btn_infomessage_weiter").click(function(){ $(".newinfomessage").css("display","none"); $(".blocktop").css("display","none"); }); $("#btn_hinweis_zurueck").click(function(){ $(".max_wl_reached").css("display","none"); $(".blocktop").css("display","none"); }); $("#btn_hinweis_aendern").click(function(){ $(".max_wl_reached").css("display","none"); $(".blocktop").css("display","none"); wandlaengeaendern(); }); $("#btn_conf_reset").click(function(){ $(".conf_reset").css("display","none"); $(".blocktop").css("display","none"); produkte = Array(); korrektur = Array(); $(".anzahl").each(function(){ $(this).text("0"); }); redrawPlanung(); updateLabels(); }); $(".warenkorb").click(function(){ hideZulaessig(); showWarenkorb(); }); $(".btn_wk_drucken").click(function(){ capture(); }); $(".abschluss .weiter").click(function(){ abschliessen(); }); $(".abschluss .weiter").mouseover(function(){ $(".abschluss").css("background-position","bottom"); }); $(".abschluss .weiter").mouseout(function(){ $(".abschluss").css("background-position","top"); }); $("#btn_wk_abschliessen").click(function(){ saveKonfiguration(); /* $(".seitenblenden").css("display","block"); $(".blocktop").css("display","block"); */ }); $(".zubehoeraddbutton").click(function(){ addProdukt($(this).attr("data-ean"),0); $("#big_wk").css("opacity","0"); $("#big_wk").css("transform","scale(2)"); $("#big_wk").css("display","block"); $("#big_wk").animate({ opacity:0.8, },500,function(){ $("#big_wk").css("opacity","0"); $("#big_wk").css("transform","scale(0)"); $("#big_wk").css("display","none"); if($("#wk").css("display") == "block") { showWarenkorb(); } }); }); $(".zubehoer_links").click(function(){ zubehoer_pos = zubehoer_pos - 3; if(zubehoer_pos < 0) { zubehoer_pos = 0; } $(".zubehoer_rechts").css("display","block"); if(zubehoer_pos == 0) { $(".zubehoer_links").css("display","none"); } else { $(".zubehoer_links").css("display","block"); } slide_zubehoer(); }); $(".zubehoer_rechts").click(function(){ zubehoer_pos = zubehoer_pos + 3; var maxpos = $(".zubehoerprodukt").length - 3; if(zubehoer_pos > maxpos) { zubehoer_pos = maxpos; } $(".zubehoer_links").css("display","block"); if(zubehoer_pos == maxpos) { $(".zubehoer_rechts").css("display","none"); } else { $(".zubehoer_rechts").css("display","block"); } slide_zubehoer(); }); $(".draghandle").draggable({ opacity:1, axis: "x", distance: 100, containment: $(".konfigurator_wand"), helper: function( event ) { hinweis_streben_gezeigt = true; addProdukt($(event.target).parent().attr("id").replace("produkt_",""),1); updateProduktanzahl(); if(neuekomponente != "") { currentlyDragging = true; showZulaessig($(event.target).parent().attr("id").replace("produkt_","")); return $("#" + neuekomponente); } else { redrawPlanung(); currentlyDragging = false; hideZulaessig(); } }, drag: function(event, ui) { if(neuekomponente!="") { $(".luecke").css("display","none"); setTimeout(startdraggingit,1,neuekomponente); return false; } }, stop: function(event){ currentlyDragging = false; neuekomponente = ""; redrawPlanung(); }, appendTo: '.konfigurator_wand_boden', }); $('input[type="text"]').blur(function() { $(window).scrollTop(0,0); }); $(".produkt3d").click(function(){ $("#left").val(""); $("#right").val(""); $("#single").val($(this).attr("data-produkt")); $.alert({ boxWidth: '80%', boxHeight: '90%', useBootstrap: false, title: '', content: '', onContentReady: function () { setTimeout(show3d,1000); } }); }); document.ontouchmove = function(event){ event.preventDefault(); } $(".scene3d_btn").click(function(){ show3Dscene(); }); $(".link_zu_ar").click(function(){ show3Dscene(); }); arrange(); }); $(window).on("load",function(){ });