/* * Copyright 2018-2021 KFI * http://www.kfi.li */ var mobilev = 500; var licznik = 0, kierunek = 'r', arrow = {}; var aktywny = ''; var stopSlup = 0; var wczytywanie = false; var obroty = false; var aspeed = 1, bspeed = 1; var kolor = {md:'#ffffff', ms:'#111111', ad:'#9F0000', as:'#9F0000',ss:'#111',} var typslupa = "s-190"; //s-235, s-295 var gruboscslupa = 7; // 9 var startzaun = 'z-180x180'; var startslup = 'slup-180-okr-gr7'; var startkolor = 'braun'; var kolorslupa = '0.8 0.8 0.8'; var hasicons = true; $ikonki = ['natura-180x180.svg','natura-120x180.svg','natura-90x180.svg']; var technik = { [startzaun]:{dl:'180', hl:'180', hr:'180', opis:'NATURA Bohlen-Zaun
180x180cm', obraz:$ikonki[0]}, 'z-120x180':{dl:'120', hl:'180', hr:'180', opis:'NATURA Bohlen-Zaun
120x180cm', obraz:$ikonki[1]}, 'z-90x180':{dl:'90', hl:'180', hr:'180', opis:'NATURA Bohlen-Zaun
90x180cm', obraz:$ikonki[2]}, }; var koloryplotu = {'braun':'-B', 'grau':'-G', 'larchenoptik':'-Lo','grun':'-Z'}; if(!cennik['z-180x180-G']) {delete koloryplotu['grau'];} if(!cennik['z-180x180-Lo']) {delete koloryplotu['larchenoptik'];} if(!cennik['z-180x180-Z']) {delete koloryplotu['grun'];} if(!cennik['z-180x180-B']) {delete koloryplotu['braun']; startkolor = Object.keys(koloryplotu)[0];} if(jQuery.isEmptyObject(koloryplotu)) { alert('STOP! Zaun 180x180cm - kein Artikel'); window.location.href = '/de/'; } $.each(technik, function( k, v ) { if(!cennik[k+koloryplotu[startkolor]]) { delete technik[k]; } }); var slupdrewno = 1; var stukolor = '#35373A'; var anthrazit = '#35373A'; //'#22282A'; var silber = '0.8 0.8 0.8'; //INTERFEJS function interfejs(){ if (typeof (Storage) == "undefined") { alert('Sorry, your browser is too old! Update your browser!'); return; } localStorage.setItem('wersja',sesja+nazwaplotu); document.getElementById('x3dElement').runtime.speed(aspeed); //MENU PLOTOW let iconpath = "../icons/"; if (typeof hasicons === 'undefined') iconpath = "//media.delta-gartenholz.com/svg-01/"; $.each(technik, function( k, v ) { var classimg=""; let tabT2 = ['z-90x180T2','z-90x160T2','z-90x180T-F2','z-90x180T-L2','zm-90x180T2','zm-90x160T2']; if(tabT2.includes(k)) classimg = "flipimg"; else if(k=='z-180x180R' || k=='z-120x180R' || k=='z-60x180R') classimg = "rotimg"; $(".akcesoria").append(''); }); if(cennik['sturmanker-A'] || cennik['sturmanker-S']) $(".akcesoria").append(''); if(cennik['plano']) $(".akcesoria").append(''); $(".akcesoria").prepend(''); $(".akcesoria").prepend(''); if(nazwaplotu=='anjo') $(".akcesoria").prepend(`

Profillänge

ok
`); customMenu(); localStorage.removeItem('pamiec'); localStorage.removeItem('licznik'); rozpocznij(); statusy(); }// /intefejs function customMenu(){ $(".kolory").addClass('customizer accordion'); $(".kolory").append(`
`); var acbuttons = '
'; var acItems = ''; let neu = ''; //MENU KOLOR if (typeof onecolor === 'undefined') { $.each(koloryplotu, function(i,v){ acbuttons +=` `; }) acbuttons+='
'; acItems+=`

`+acbuttons+`
`; } //Pfosten acbuttons ='

Pfostenmaterial

'; acbuttons += '
'; acbuttons +=` `; if(cennik['s-190-S'] || cennik['s-190-A'] || cennik['s-235-S'] || cennik['s-235-A']){ acbuttons +=` `; } acbuttons +='
'; acbuttons +='
'; acbuttons +='

'+TxKolorSlupow+'

'; acbuttons += '
'; if(cennik['s-190-A'] || cennik['s-235-A'] || cennik['s-295-A']) { acbuttons +=` `; } if(cennik['s-190-S'] || cennik['s-235-S'] || cennik['s-295-S']) { acbuttons +=` `; } acbuttons +='
'; //Pfosten Montage acbuttons +='

'+TxSposobMontazu+'

'; acbuttons += opcjeSposobMontazu(); acbuttons +='
'; acItems+=`

`+acbuttons+`
`; //Sturmankers if(cennik['sturmanker-A'] || cennik['sturmanker-S']){ acbuttons =`
`; if(cennik['sturmanker-A'] || cennik['sturmanker-S']){ acbuttons+=`
`; acbuttons+=`
TORNADO Sturmanker
inkl. Montageset
`; acbuttons += '
'; acbuttons +=` `; acbuttons +=` `; acbuttons +='
'; acbuttons += '
'; if(cennik['sturmanker-A']) { acbuttons +=` `; } if(cennik['sturmanker-S']) { acbuttons +=` `; } acbuttons +='
'; acbuttons +='
'; } if(cennik['plano']) { acbuttons+=`
`; acbuttons+=`
PLANO Sturmanker, silber
`; acbuttons += '
'; acbuttons +=` `; acbuttons +=` `; acbuttons +='
'; acbuttons +='
'; } acItems+=`

`+acbuttons+`
`; } $('#accordionConfig').append(acItems); rysujilekontener(); //kontener ile }// /custommenu //rozpocznij function rozpocznij(){ if (typeof sharing === 'undefined') { // variable is undefined } else { if(sharing.length > 10) { wczytajShr(sharing); return false; } } $('.dodatek').removeClass('ba'); kolorslupa = silber; localStorage.setItem('lskolor',startkolor); licznik = 0; wczytywanie = true; $('body').addClass('stepbystep'); $('.steponly').show(); if($('#w0__'+startslup).length > 0 ){ $('#w0__Scena').empty(); } else { alert('problem 1'); } var tmp = $('#w0__'+startslup).eq(0).contents().clone(); if(tmp.length > 0) { $('#w0__Scena').append(""); $('#start-slup').append(tmp); } else alert('problem 2'); $('.ekran').css('visibility','visible'); $("body").addClass('bodybg'); if(($('#w0__Scena').children().length == 0)){ console.log('problem'); alert('problem 3'); } else { aktywny = "start-slup"; kierunek="r"; $('.'+startzaun+'.plot.dodatek.act').click(); //kolor paneli if (typeof onecolor === 'undefined') { $('.farba.'+startkolor).addClass('ba'); $('.farba.'+startkolor).click(); } else {ustawOnekolor();} //grubosc slupa $('.gruboscslupa.gr9').click(); $('#pokrywa').prop('checked',false); wczytywanie = false; zapiszLS(); rysujTrawnik(); $('.farby').click(); fitView(); $('.collapse').collapse('hide'); } } // /rozpocznij //WCZYTAJ function wczytaj(){ var lspamiec = localStorage.getItem("pamiec"); if (lspamiec !== null && lspamiec.length > 1000) { console.log('starting 2'); wczytywanie = true; $('body').removeClass('stepbystep'); $('#w0__Scena').empty(); $('#w0__Scena').append(lspamiec); if(($('#w0__Scena').children().length == 0)){ localStorage.setItem('pamiec',lspamiec); wczytaj(); return; } licznik = localStorage.getItem("licznik"); var lskolor = localStorage.getItem('lskolor'); $('.farba.'+lskolor).prop('checked',true); $('.bitmaptexture').each(function() {$(this).attr('url',$(this).attr('url').replace(/-[a-z]*\.jpg/,'-'+lskolor+'.jpg'));}); if($('#start-slup').hasClass('gr9')) {$('.gruboscslupa.gr9').click();} else { $('.gruboscslupa.gr7').click(); typslupa = $("#start-slup").attr('data-typ'); $('.typslupa.'+typslupa).click(); slupdrewno = 0; if($('#start-slup').children('.slupbody').find('.pokrywa-kotwy').attr('render')=='true') $('#pokrywa').prop('checked',true); zmienkolor = 'anthrazit'; if($('#start-slup').hasClass('slupsilber')) zmienkolor = 'silber'; $('.farbaslupa').removeClass('ba'); $('.farbaslupa.'+zmienkolor).click(); } wczytywanie = false; if(slupdrewno == 1) { narozniki(); $('#planobox').show(); } else { $('.h-anker').attr('render','false'); $('.l-anker').attr('render','false'); $('#planobox').hide(); } $('.collapse').collapse('hide'); zapiszLS(); rysujTrawnik(); //console.log('wczytane'); perspektywa(); setTimeout(function(){ perspektywa(); },1000); //perspektywa(); //fitView(); $('.farby').click(); } else { console.log('starting...'); localStorage.removeItem('pamiec'); localStorage.removeItem('licznik'); localStorage.removeItem('lskolor'); $('#w0__Scena').empty(); rozpocznij(); } $('.ekran').css('visibility','visible'); $("body").css({"background":"#fff"}); }///wczytaj //ZMIANA KOLORU function ustawOnekolor(){ $('.bitmaptexture').each(function() { $(this).attr('url',$(this).attr('url').replace(/-[a-z]*\.jpg/,'-'+startkolor+'.jpg')); }); } $(document).on("click", ".farba.dodatek.act", function(){ $('.farba').removeClass('ba'); $(this).addClass('ba'); var lskolor = $(this).attr("data-kolor"); let kolorslupa = lskolor; if(nazwaplotu=='rhombus-sichtschutzzaun') { //DIY let IFzaun = 'IF-z-180x180'; if(lskolor == 'larche') IFzaun = 'IF-diy-180x180'; else if(lskolor == 'diylarche') kolorslupa = "larche"; $('.rhombus180 IndexedFaceSet').remove(); $('.rhombus180').append(''); } $('.bitmaptexture').each(function() { $(this).attr('url',$(this).attr('url').replace(/-[a-z]*\.jpg/,'-'+lskolor+'.jpg')); }); if(gruboscslupa==9) $('.sluptexture').each(function() { $(this).attr('url',$(this).attr('url').replace(/-[a-z]*\.jpg/,'-'+kolorslupa+'.jpg')); }); localStorage.setItem('lskolor',lskolor); }); //click menu plot $(document).on("click", ".plot.dodatek.act", function(){ if($(this).hasClass('ba')){ //usuwanie return; } else if(aktywny.indexOf('slup') == -1) { //zamiana var $idd = $(this).attr('data-produkt'); var dlplotu = $(this).attr('data-w'); var odlSlupa = parseInt(dlplotu) + parseInt(gruboscslupa); var hl = $(this).attr('data-hl'); var hr = $(this).attr('data-hr'); var slup = $('#'+aktywny+'-slup'); var rodzicSlup = $('#'+aktywny).closest('.slup'); var kaktywny = $('#'+aktywny).attr('data-k'); var tmp = $('#w0__'+$idd).eq(0).contents().clone(); rodzicSlup.attr('data-h'+kaktywny, hl); slup.attr('data-hl', hr); podmienSlup2(rodzicSlup); podmienSlup2(slup); $('#'+aktywny).empty().append(tmp); $('#'+aktywny).attr('data-p',$idd); $('#'+aktywny).attr('data-w',dlplotu); slup.attr('translation','0 0 '+odlSlupa); Gate(); rysujTrawnik(); console.log('rystrawnik-clockdodaj') odznacz(); fitView(); zapiszLS(); pmenu('hide'); } else { //dodanie var modelplotu = $(this).attr('data-produkt'); var dlplotu = parseInt($(this).attr('data-w')); var wysl = $(this).attr('data-hl'); var wysr = $(this).attr('data-hr'); dodajPlot3(modelplotu, dlplotu, wysl, wysr); } }); var ilerazy = 1; //Dodaj plot dodajPlot3 = function($idd, dlplotu, hl, hr){ //DODAJ PLOT licznik++; var wysslupa = '180'; var rodzicSlup = $('#'+aktywny); //usun sturmanker if(kierunek == 'b' || kierunek == 'f'){ if(rodzicSlup.attr('data-hf')=='30') {rodzicSlup.children('.f_strona').empty(); rodzicSlup.attr('data-hf','0');rodzicSlup.children('.betony').attr('render','true');} else if(rodzicSlup.attr('data-hb')=='30') {rodzicSlup.children('.b_strona').empty(); rodzicSlup.attr('data-hb','0');rodzicSlup.children('.betony').attr('render','true');} } var tmp = $('#w0__'+$idd).eq(0).contents().clone(); rodzicSlup.attr('data-h'+kierunek, hl); podmienSlup2(rodzicSlup); var $indeks = "plot-Q" + kierunek + "-" + licznik; var odlSlup = dlplotu + parseInt(gruboscslupa); var pozPlotu = gruboscslupa == '9' ? '4.5':'3.5'; $('#'+aktywny).children('.'+kierunek+'_strona').append(""); $('#'+$indeks).append(tmp); if($idd=='sturmanker' || $idd=='plano'){ $('#'+aktywny).children('.betony').attr('render','false'); } if(stopSlup != odlSlup){ if($idd!='sturmanker' && $idd!='plano'){ let tmpslup = $('#w0__'+startslup).eq(0).contents().clone(); wysslupa = hr; $('#'+aktywny).children('.'+kierunek+'_strona').append(""); $('#'+$indeks+'-slup').append(tmpslup); var nowyslup = $('#'+$indeks+'-slup'); podmienSlup2(nowyslup) if(ilerazy>1) { ilerazy--; aktywny = $indeks+'-slup'; dodajPlot3($idd, dlplotu, hl, hr); return; } } } if(!wczytywanie) rysujTrawnik(); if($('body').hasClass('stepbystep') && !wczytywanie){ ekran2(); } else { pmenu('hide'); fitView(); } if(slupdrewno == 1) narozniki(); Gate(); zapiszLS(); }//Dodaj Plot //narozniki function narozniki(){ $('scene .slup:not(.kula)').each(function() { let kf = '0', kb = '0', kr = '0'; if($(this).attr('data-hf')!=='0' && $(this).attr('data-hf')!=='30') kf = '1'; if($(this).attr('data-hb')!=='0' && $(this).attr('data-hb')!=='30') kb = '1'; if($(this).attr('data-hr')!=='0' && $(this).attr('data-hr')!=='30') kr = '1'; if(kf == '1' || kb == '1') { $(this).children('.h-anker').attr('render','false'); $(this).children('.l-anker').attr('render','true'); if($(this).attr('id')=='start-slup') $(this).children('.l-anker').attr('rotation','0 1 0 1.57') else if(kb == '1' && kf =='1') $(this).children('.l-anker').attr('rotation','0 1 0 -1.57') else if(kb == '1') $(this).children('.l-anker').attr('rotation','0 1 0 -3.14') else $(this).children('.l-anker').attr('rotation','0 1 0 0') } else {$(this).children('.h-anker').attr('render','true');$(this).children('.l-anker').attr('render','false');} }); } function ekran2(){ $('body').removeClass('stepbystep'); $('.steponly').hide(); perspektywa(); $('#kolorpaneli').click(); } //kierunek wybierzKierunek = function(event){ $('#pmenulabel').text('einen Artikel hinzufügen'); $('.tab').hide(); $('.dodatek').addClass('act').show(); odznaczPlot(); var shape = $(event.target); kierunek = shape.parent().parent().attr('data-k'); var myid = shape.closest('.slup').attr('id'); aktywny = myid ; myid = '#'+myid ; stopSlup = 0; if(kierunek=='r' || kierunek=='l') {$('.sturmanker').hide();$('.plano').hide();} else { if(slupdrewno == 0) $('.plano').hide(); if($(myid).attr('data-hf')!="0") {$('.sturmanker').hide();$('.plano').hide();} if($(myid).attr('data-hb')!="0") {$('.sturmanker').hide();$('.plano').hide();} if((!cennik['sturmanker-A'] && kolorslupa == anthrazit) || (!cennik['sturmanker-S'] && kolorslupa == silber)) $('.sturmanker').hide(); } if(arrow.length == 1){ arrow.parent().parent().find('Material').attr({diffuseColor:'#aaa'}); } arrow = shape; if(aktywny == 'start-slup'){ if($('.model').length==0) $('.dodatek').addClass('act'); } pokazpasek(); $(".akcesoria").show(); pmenu('show'); $(".op.dodatki").addClass('zaznacz'); shape.parent().parent().find('Material').attr({diffuseColor:'#ff0000'}); var strona = '.'+kierunek+'_strona'; //sprawdzBlokady(aktywny, strona, 0); $(".firstzaun").hide(); $('.oczy').show(); $('.kosz').hide(); $('.akcesoria .ba').removeClass('ba'); if(nazwaplotu=='anjo') { $(".cut").hide(); $('.cutcontainer').hide(); } event.stopPropagation(); } function showSlupClick(){ $('.dopasuj').show(); $('.dopasuj').scrollTop(0); } //zaznacz slup var shapeslup; wskazSlup = function(event){ if($('body').hasClass('stepbystep')) return; if(obroty) return; var shape = $(event.target); shapeslup = shape[0]; var id = shape.closest('.slup').attr('id'); if(id != aktywny){ let myid = id.replace('-slup',''); if(id == 'start-slup') pmenu('hide'); zaznaczPlot(myid); } else { if($('#pmenu').hasClass('show')) pmenu('hide'); else odznacz(); } event.stopPropagation(); } //zaznacz slup 2 function zaznaczSlup(myid){ let easylicznik = 1; $(myid).children('.slupbody').find('.slupredbox').attr('transparency','0.5'); if($(myid).attr('data-hf')=='0' || $(myid).attr('data-hf')=='30'){ $(myid).children('Group').children('.arrow.f').attr('render','true'); } else easylicznik +=1; if($(myid).children('.r_strona').children().length == 0){ $(myid).children('Group').children('.arrow.r').attr('render','true'); } else easylicznik +=1; if($(myid).attr('data-hb')=='0' || $(myid).attr('data-hb')=='30'){ $(myid).children('Group').children('.arrow.b').attr('render','true'); } else easylicznik +=1; if(myid == '#start-slup'){ easylicznik=easylicznik-1; aktywny = 'start-slup'; } if(easylicznik > 2) $(myid).children('Group').children('.arrow').attr('render','false'); } //ZAZNACZ PLOT function zaznaczPlot(myid){ $('.collapse').collapse('hide'); $('#pmenulabel').text('ausgewählter Zaun'); if($(window).width() > mobilev) { $('#pmenu').removeClass('offcanvas-bottom').addClass('offcanvas-start'); pokazpasek(); } else $('#pmenu').removeClass('offcanvas-start').addClass('offcanvas-bottom'); id = myid; if(id != aktywny){ odznacz(); aktywny = id; $('#'+aktywny).find('.deska').find('Material').attr({diffuseColor:kolor['ad'],specularColor:kolor['as']}); $('#'+aktywny).find('.redbox').attr('transparency','0.5'); zaznaczSlup('#'+aktywny+'-slup'); if(aktywny=='start-slup') return; var prodid = $('#'+aktywny).attr('data-p'); if(prodid == 'sturmanker'){ $(".plot.dodatek").hide(); $(".plot.sturmanker").show(); } else if(prodid == 'plano'){ $(".plot.dodatek").hide(); $(".plot.plano").show(); } else { $(".plot.dodatek").show(); $(".plot.sturmanker").hide(); $(".plot.plano").hide(); if(nazwaplotu=='anjo') { if(prodid == 'z-180x180') { $('.cut').show(); if( $('#'+aktywny).attr('data-w')!='180') {cutter();$('#collapseCut').collapse('show');} } else {$('.cut').hide();$('#collapseCut').collapse('hide');} } } $(".plot.dodatek").addClass('act'); $(".akcesoria").show(); pmenu('show'); $('.'+prodid).addClass('act ba').show(); $('.oczy').show(); if(aktywny !== 'plot-Qr-1') {$('.kosz').show(); $('.firstzaun').hide(); fenceBin();} else {$('.kosz').hide(); $('.firstzaun').show();} if($('#'+aktywny).attr('data-p').indexOf('T')!=-1){ var nikotor = $('#w0__fencetor'); if(!nikotor.length) nikotor = ''; $('#'+aktywny).append(nikotor); $('#w0__fencetor').attr('translation','0 205 30'); $('#w0__fencekosz').attr('translation','0 205 70'); } } else { pmenu('hide'); } } //koszyk function wypelnijkoszyk(){ aktywny = ''; $ilosc = 0, $dane = "", idprodukt=""; var wkolor = localStorage.getItem('lskolor'); var vplotu = koloryplotu[wkolor]; var vslupa = vplotu; //Rhombuszaun DIY if(vslupa == '-LD') vslupa = '-L'; if(slupdrewno == 0) vslupa = kolorslupa == anthrazit ? "-A":"-S"; if (typeof onecolor === 'undefined') { // variable is undefined } else if(onecolor == 1) vplotu = ''; ploty = {}; $('.model').each(function() { var idprodukt = $(this).attr('data-p'); if(idprodukt == 'z-90x180T2') idprodukt = 'z-90x180T'; else if(idprodukt == 'zm-90x180T2') idprodukt = 'zm-90x180T'; else if(idprodukt == 'z-90x160T2') idprodukt = 'z-90x160T'; else if(idprodukt == 'zm-90x160T2') idprodukt = 'zm-90x160T'; else if(idprodukt == 'z-90x180T-F2') idprodukt = 'z-90x180T-F'; else if(idprodukt == 'z-90x180T-L2') idprodukt = 'z-90x180T-L'; else if(idprodukt == 'z-180x180R') idprodukt = 'z-180x180'; else if(idprodukt == 'z-120x180R') idprodukt = 'z-120x180'; else if(idprodukt == 'z-60x180R') idprodukt = 'z-60x180'; if(ploty[idprodukt]>0) ploty[idprodukt]+=1; else ploty[idprodukt]=1; }); cenowo = cennik; let holzAaluZaunhalter = 0; //ploty for( var i in ploty ){ $ilosc = ploty[i]; i = i + vplotu; if((i in cenowo) && i!=='plano'){ $dane += i+":"+String($ilosc)+","; holzAaluZaunhalter += $ilosc; } } //slupy i kotwy i holz-alu-zaunhalter var slup90 = $('.slup-90').length; if(slup90>0){ let i ; $ilosc = slup90; if(slupdrewno == 1) i = "s-90"+vslupa; else{ if(typslupa == "s-190") i = "s-100"+vslupa; else if(typslupa == "s-235") i = "s-150"+vslupa; else i = "s-190"+vslupa; } if(i in cenowo) $dane += i+":"+String($ilosc)+","; } var key = 'slup-180:not(.hasgate)'; if(slupdrewno == 1) key = 'slup-180'; $ilosc = $('.'+key).length; if($ilosc>0){ let i = typslupa+vslupa; if(i in cenowo) $dane += i+":"+String($ilosc)+","; } if(typslupa == "s-190" && slupdrewno == 0) { //kotwy i pokrywa slupa $ilosc = $ilosc + slup90; if($ilosc>0) { i = "kotwa"; if(i in cenowo) $dane += i+":"+String($ilosc)+","; if($('#pokrywa').prop('checked')){ i = "pokrywa"+vslupa; $dane += i+":"+String($ilosc)+","; } } } //TOR slupy i kotwy, pokrywy var key = '.slup.hasgate'; $ilosc = $(key).length; if($ilosc>0){ $ilosc = $ilosc/2; if(slupdrewno == 0){ let i = "s-190T"+vslupa; if(typslupa == "s-295") i = "s-235T"+vslupa; $dane += i+":"+String($ilosc)+","; if(typslupa == "s-190") { //pokrywa furtki if($('#pokrywa').prop('checked')){ i = "pokrywa"+vslupa+"-tor"; $dane += i+":"+String($ilosc)+","; } } } // /alu holzAaluZaunhalter -= $ilosc; } //holz-alu-zaunhalter if((slupdrewno == 0) && (holzAaluZaunhalter > 0)){ let i = 'holz-alu-zaunhalter'; if(i in cenowo) $dane += i+":"+String(holzAaluZaunhalter)+","; } else if(holzAaluZaunhalter > 0){ let i = 'holz-ocynk-zaunhalter'; if(vslupa == "-L" || vslupa == "-Lo") i = 'holz-stal-zaunhalter'; if(i in cenowo) $dane += i+":"+String(holzAaluZaunhalter)+","; } //sturmanker i = 'sturmanker'; if(i in ploty){ $ilosc = ploty[i]; if(stukolor==anthrazit) vslupa = "-A" else vslupa = "-S"; i = i + vslupa; if(i in cenowo){ $dane += i+":"+String($ilosc)+","; } } //plano i = 'plano'; if(i in ploty){ $ilosc = ploty[i]; if(i in cenowo) $dane += i+":"+String($ilosc)+","; } $dane = $dane.replace(/\,$/, ""); przygotujKoszyk($dane); }//koszyk //Grubosc slupa $(document).on("click", ".gruboscslupa.dodatek.act", function(){ $('.gruboscslupa').removeClass('ba'); $(this).addClass('ba'); if(gruboscslupa != $(this).attr("data-gr")) { gruboscslupa = $(this).attr("data-gr"); if(gruboscslupa == '9'){ $('#planobox').show(); $('.betony').attr('translation','0 -5 0'); $('.sturmankerpoz').attr('translation','0 -5 0'); slupdrewno = 1; let lskolor = localStorage.getItem('lskolor'); if(lskolor == 'diylarche') lskolor = 'larche'; //DIY var pozPlotu = '4.5'; $('.ksztaltslupa IndexedFaceSet').remove(); $('.ksztaltslupa').append(''); $('#start-slup').removeClass('gr7').addClass('gr9'); console.log('cc-'+wczytywanie) if(!wczytywanie){ kolorslupa = silber; } $('.kapturek').attr('render','false'); $('.alukolor').hide(); $('.kotwa').attr('render','false'); typslupa = 's-190'; $("#start-slup").attr('data-typ',typslupa); $('.skalaslupa').attr('scale','1 1 1'); $('.skalaslupa').attr('translation','0 0 0'); $('.clipper').attr('plane','0 0 1 -0.85'); $("#w0__betonX").attr('translation','0 0 -29.9'); $("#w0__betonX").find('box').attr('size','40 40 60'); $('.sluptexture').each(function() { $(this).attr('url',$(this).attr('url').replace(/-[a-z]*\.jpg/,'-'+lskolor+'.jpg')); }); narozniki(); } else { $('#planobox').hide(); if($('scene .model[data-p="plano"]').length > 0){ $('scene .model[data-p="plano"]').each(function() { aktywny = $(this).attr('id'); usunPlot(); }); } $('.betony').attr('translation','0 0 0'); $('.sturmankerpoz').attr('translation','0 0 0'); slupdrewno = 0; $('.h-anker').attr('render','false'); $('.l-anker').attr('render','false'); var pozPlotu = '3.5'; //$('.kapturek').attr('scale','1 1 1'); $('.kapturek').attr('render','true'); $('.ksztaltslupa IndexedFaceSet').remove(); $('.ksztaltslupa').append(''); $('#start-slup').removeClass('gr9').addClass('gr7'); $('.alukolor').show(); if(cennik['s-190-S'] || cennik['s-235-S'] || cennik['s-295-S']) $('.farbaslupa.dodatek.silber').click(); else $('.farbaslupa.dodatek.anthrazit').click(); if(cennik['s-190-S'] || cennik['s-190-A']){ $('.kotwa').attr('render','true'); $('.typslupa.s-190').click(); } else { $('.typslupa.s-235').click(); } $('.sluptexture').each(function() { $(this).attr('url',$(this).attr('url').replace(/-[a-z]*\.jpg/,'-aluminium.jpg')); }); } $('.model').each(function() { $(this).attr('translation','0 0 '+pozPlotu); var dataw = parseInt($(this).attr('data-w')); if(dataw == 0) { //jest sciana if($(this).parent().hasClass('r_strona')){ var daneslupa = $(this).parent().parent().attr('translation'); var pm = daneslupa.split(' '); var przesunplot = Number(pm[2]) - parseInt(gruboscslupa) + 3; $(this).parent().parent().attr('translation','0 0 '+przesunplot); } else { var przesunplot = gruboscslupa == '9' ? '-6' : '-4'; $(this).parent().parent().children('.r_strona').attr('translation','0 0 '+przesunplot); } } else { var odlSlupa = dataw + parseInt(gruboscslupa); $('#'+$(this).attr('id')+'-slup').attr('translation','0 0 '+odlSlupa); } }); if(nazwaplotu == "valentina"){ korektaSlupa(); } if(!wczytywanie) rysujTrawnik(); } zapiszLS(); });//zmiana grubosci // korekta slupow function korektaSlupa(){ $('.slup:not(.kula)').each(function(){ let obiekt = $('#'+$(this).attr('id')); podmienSlup2(obiekt); }); } //kolor stumarker $(document).on("click", ".stukolor.dodatek.act", function(){ //ZMIANA KOLORU STUMANKER $('.stukolor').removeClass('ba'); $(this).addClass('ba'); let kolor = $(this).attr("data-kolor"); stukolor = kolor == 'anthrazit'?anthrazit:silber; $('.stukolor').find('Material').attr('diffuseColor',stukolor); zapiszLS(); }); //STURMANKERS $(document).on("click",".sturmankers",function(){ let $opcja = $(this).attr('data-o'); let produkt = $(this).attr('data-p'); $('.model').each(function() { if($(this).attr('data-p')=='sturmanker' || $(this).attr('data-p')=='plano'){ aktywny = $(this).attr('id'); usunPlot(); } }); if($opcja == 'off'){ //usuwanie } else $('.slup:not(.kula)').each(function() { if($(this).attr('data-hb') == '0' && $(this).attr('data-hf') == '0' ){ aktywny = $(this).attr('id'); let pole = $('#'+aktywny); let kula = pole.toArray(); let mat = kula[0]._x3domNode.getCurrentTransform(); let x = mat['_03'].toFixed(0); let y = mat['_23'].toFixed(0); if(x<=0 && y>0){ kierunek = $opcja == 'f' ? 'b':'f'; } else kierunek = $opcja; dodajPlot3(produkt,'30','30','30'); $('#toaststurmanker').modal('show'); $('.stukolor').find('Material').attr('diffuseColor',stukolor); } }); }); function ustalStu(){ if($('scene .model[data-w="30"]').length > 0) { $('#stuoff').prop('checked',false); if($('scene .model[data-p="plano"]').length == 0){ $('#planofront').prop('checked',false);$('#planoback').prop('checked',false); } else {$('#stufront').prop('checked',false);$('#stuback').prop('checked',false);} } else {$('#stuoff').prop('checked',true); } } function statusy(){ if(nazwaplotu=='anjo') { var cutCollapsible = document.getElementById('collapseCut'); cutCollapsible.addEventListener('show.bs.collapse', function () { cutter(); }); } var cutCollapsible = document.getElementById('collapseSturmanker'); cutCollapsible.addEventListener('shown.bs.collapse', function () { ustalStu(); if($(window).width() <= mobilev) $('.dopasuj').scrollTop(260); }); } function przesunSlider(val){ var rangeSlider = document.getElementById('slider-range'); let dlslider = Math.round(rangeSlider.noUiSlider.get())+val; rangeSlider.noUiSlider.set(dlslider); } $(document).on("click",".ilerazy.splus",function (event) { przesunSlider(1); }); $(document).on("click",".ilerazy.sminus", function (event) { przesunSlider(-1); }); function cutter(){ var rangeSlider = document.getElementById('slider-range'); let dlplot = 180; dlplot = parseInt($('#'+aktywny).attr('data-w')); let aktywnyid = $('#'+aktywny).attr('data-p'); if(!$('#slider-range').hasClass('noUi-target')){ noUiSlider.create(rangeSlider, { start: 180, connect: 'lower', tooltips: [wNumb({ decimals: 0, suffix: ' cm' })], range: { 'min': 21, 'max': 180 }, pips: { mode: 'range', density: 1} }); } if(aktywnyid == 'z-180x180'){ rangeSlider.noUiSlider.updateOptions({ start:dlplot, padding: [10, 0], range: { 'min': 0, '50%': 90, 'max': 180 } }); } }//cutter $(document).on("click",".cutok",function(){ var rangeSlider = document.getElementById('slider-range'); let dlslider = Math.round(rangeSlider.noUiSlider.get()); let odlslup = dlslider+parseInt(gruboscslupa); let dlplot = dlslider; let aktywnyid = $('#'+aktywny).attr('data-p'); let clipp = 0; if(aktywnyid == 'z-180x180'){ clipp = 0.5+((dlslider-90)*100)/100; } var slup = $('#'+aktywny+"-slup"); slup.attr('translation','0 0 '+odlslup); $('#'+aktywny).attr('data-w',dlplot); $('#w0__fencekosz').attr('translation','0 205 '+dlplot/2); $('#'+aktywny).find('.clipperh').attr('plane','0 -1 0 '+clipp).attr('on','true') console.log(clipp); zapiszLS(); rysujTrawnik(); }) //GATE function Gate(){ if (typeof hasTore === 'undefined') return; let jestpokrywa = $('#pokrywa').prop('checked'); $('#w0__Scena .hasgate').children('.kotwa').empty().append(''); $('#w0__Scena .hasgate').children('.betony').empty().append(''); $('#w0__Scena .hasgate').removeClass('hasgate'); $('.model').each(function() { let idprodukt = $(this).attr('data-p'); if(idprodukt == 'z-100x180' || idprodukt == 'z-100x160') { let slupid = '#'+$(this).attr('id')+"-slup"; let rodzicSlup = $(this).closest('.slup'); $(slupid).addClass('hasgate'); rodzicSlup.addClass('hasgate'); if($(slupid).attr('data-hf') == '30'){ $(slupid).children('.f_strona').empty(); $(slupid).attr('data-hf','0'); $(slupid).children('.betony').attr('render','true'); } else if($(slupid).attr('data-hb') == '30'){ $(slupid).children('.b_strona').empty(); $(slupid).attr('data-hb','0'); $(slupid).children('.betony').attr('render','true'); } if(rodzicSlup.attr('data-hf') == '30'){ rodzicSlup.children('.f_strona').empty(); rodzicSlup.attr('data-hf','0'); rodzicSlup.children('.betony').attr('render','true'); } else if(rodzicSlup.attr('data-hb') == '30'){ rodzicSlup.children('.b_strona').empty(); rodzicSlup.attr('data-hb','0'); rodzicSlup.children('.betony').attr('render','true'); } let str1 = ''; let str2 = ''; $(slupid).children('.kotwa').addClass('gate').empty().append(str1); rodzicSlup.children('.kotwa').addClass('gate').empty().append(str2); if(typslupa == 's-295'){ $(slupid).children('.betony').empty().append(''); rodzicSlup.children('.betony').empty().append(''); $(slupid).children('.slupbody').find('.clipper').attr('on','true'); rodzicSlup.children('.slupbody').find('.clipper').attr('on','true'); $(slupid).children('.slupbody').find('.clipper').attr('plane','0 0 1 0.45'); rodzicSlup.children('.slupbody').find('.clipper').attr('plane','0 0 1 0.45'); } else { $(slupid).children('.slupbody').find('.clipper').attr('on','false'); rodzicSlup.children('.slupbody').find('.clipper').attr('on','false'); } } }); } //typ slupa $(document).on("click", ".typslupa.dodatek.act", function(){ $('.typslupa').removeClass('ba'); $(this).addClass('ba'); typslupa = $(this).attr("data-typ"); $("#start-slup").attr('data-typ',typslupa); if(typslupa == 's-190') {$('.panelpokrywa').show();} else $('.panelpokrywa').hide(); if(typslupa == "s-295"){ $('.skalaslupa').attr('scale','1 1 1.553'); $('.skalaslupa').attr('translation','0 0 -1.05'); $('.kotwa').attr('render','false'); $("#w0__betonX").attr('translation','0 0 -52.4'); $("#w0__betonX").find('box').attr('size','40 40 105'); $('.slup:not(.hasgate)').children('.slupbody').find('.clipper').attr('plane','0 0 1 0.20'); } else { $('.slup.hasgate').children('.slupbody').find('.clipper').attr('on','false'); if(typslupa == "s-235") { $('.skalaslupa').attr('scale','1 1 1.237'); $('.skalaslupa').attr('translation','0 0 -0.45'); $('.kotwa').attr('render','false'); $('.clipper').attr('plane','0 0 1 -0.40'); } else { $('.skalaslupa').attr('scale','1 1 1'); $('.skalaslupa').attr('translation','0 0 0'); $('.kotwa').attr('render','true'); $('.clipper').attr('plane','0 0 1 -0.85'); dodajPokrywe(); } $("#w0__betonX").attr('translation','0 0 -29.9'); $("#w0__betonX").find('box').attr('size','40 40 60'); } if(nazwaplotu == "valentina"){ korektaSlupa(); } Gate(); rysujTrawnik(); zapiszLS(); }); // /typ slupa //podmien slup podmienSlup2 = function(obiekt) { let wysslupa = Math.max(0,obiekt.attr('data-hr'),obiekt.attr('data-hl'),obiekt.attr('data-hb'),obiekt.attr('data-hf')); if(wysslupa == '0') wysslupa='180'; let slupbody = obiekt.children('.slupbody'); let strzalki = obiekt.children('.strzalki'); if(wysslupa == '180'){ slupbody.find('.clipper').attr('on','false'); slupbody.attr('translation','0 0 0'); obiekt.removeClass('slup-90').addClass('slup-180'); strzalki.find('.arrow.r').attr('translation','0 50 0'); strzalki.find('.arrow.b').attr('translation','0 120 0'); } else if(wysslupa == '90'){ if(typslupa == 's-190') slupbody.find('.clipper').attr('plane','0 0 1 -0.85'); else if(typslupa == 's-235') slupbody.find('.clipper').attr('plane','0 0 1 -0.40'); else if(typslupa == 's-295') slupbody.find('.clipper').attr('plane','0 0 1 0.20'); slupbody.attr('translation','0 -85 0'); obiekt.removeClass('slup-180').addClass('slup-90'); strzalki.find('.arrow.r').attr('translation','0 20 0'); strzalki.find('.arrow.b').attr('translation','0 30 0'); slupbody.find('.clipper').attr('on','true'); } else if(wysslupa == '120'){ if(typslupa == 's-190') slupbody.find('.clipper').attr('plane','0 0 1 -0.60'); else if(typslupa == 's-235') slupbody.find('.clipper').attr('plane','0 0 1 -0.20'); else if(typslupa == 's-295') slupbody.find('.clipper').attr('plane','0 0 1 0.4'); slupbody.find('.clipper').attr('on','true'); slupbody.attr('translation','0 -60 0'); obiekt.removeClass('slup-90').addClass('slup-180'); strzalki.find('.arrow.r').attr('translation','0 20 0'); strzalki.find('.arrow.b').attr('translation','0 30 0'); } else if(wysslupa == '60'){ if(typslupa == 's-190') slupbody.find('.clipper').attr('plane','0 0 1 -1.20'); else if(typslupa == 's-235') slupbody.find('.clipper').attr('plane','0 0 1 -0.8'); else if(typslupa == 's-295') slupbody.find('.clipper').attr('plane','0 0 1 -0.2'); slupbody.find('.clipper').attr('on','true'); slupbody.attr('translation','0 -120 0'); obiekt.removeClass('slup-180').addClass('slup-90'); strzalki.find('.arrow.r').attr('translation','0 0 0'); strzalki.find('.arrow.b').attr('translation','0 10 0'); } } // /podmien slup //pokrywa kotwy slupa $(document).on("click", "#pokrywa", function(){ if($(this).prop('checked')) dodajPokrywe(); else usunPokrywe(); zapiszLS(); }); const dodajPokrywe = () => { if(typslupa !== 's-190') return; let lkslupa = kolorslupa == anthrazit ? "-A":"-S"; let aktywny = (('pokrywa'+lkslupa) in cennik) ? true : false; if(aktywny) {$('.pokrywa-kotwy').attr('render','true');$('#pokrywa').prop('disabled',false);$('#pokrywa').prop('checked',true);} else {$('.pokrywa-kotwy').attr('render','false');$('#pokrywa').prop('checked',false);$('#pokrywa').prop('disabled',true);} } const usunPokrywe = () => { if(typslupa !== 's-190') return; $('.pokrywa-kotwy').attr('render','false'); } function usunPlot(){ var kplot = $('#'+aktywny).attr('data-k'); var rodzicSlup = $('#'+aktywny).closest('.slup'); var zprzodu = $('#'+aktywny+'-slup').children('.r_strona').children().length; if(kplot!="r" && zprzodu == 2){ //usun i przesun boczne var tmp = $('#'+aktywny+'-slup').children('.r_strona').children(); tmp.eq(0).attr('data-k',kplot); let wys = $('#'+aktywny+'-slup').attr('data-hr'); rodzicSlup.attr('data-h'+kplot,wys); $('#'+aktywny).parent().empty().append(tmp); } else { //else 1 if(kplot=="r"){ let shf = $('#'+aktywny+'-slup').attr('data-hf'); //sprawdz front if((shf=='180' || shf=='90' || shf=='160' || shf=='120' || shf=='150' || shf=='60') && rodzicSlup.attr('data-hf')=='0'){ var tmp = $('#'+aktywny+'-slup').children('.f_strona').children(); rodzicSlup.attr('data-hf',shf); rodzicSlup.children('.f_strona').append(tmp); }//front let shb = $('#'+aktywny+'-slup').attr('data-hb'); //sprawdz tył if((shb=='180' || shb=='90' || shb=='160' || shb=='120' || shb=='150' || shf=='60') && rodzicSlup.attr('data-hb')=='0'){ var tmp = $('#'+aktywny+'-slup').children('.b_strona').children(); rodzicSlup.attr('data-hb',shb); rodzicSlup.children('.b_strona').append(tmp); }//tyl } if(zprzodu == 2) { var tmp = $('#'+aktywny+'-slup').children('.r_strona').children(); let wys = $('#'+aktywny+'-slup').attr('data-hr'); tmp.eq(0).attr('data-k',kplot); rodzicSlup.attr('data-h'+kplot,wys); $('#'+aktywny).parent().empty().append(tmp); } else { rodzicSlup.attr('data-h'+kplot,'0'); rodzicSlup.children('.betony').attr('render','true'); $('#'+aktywny).parent().empty(); } }// /else 1 //sprawdz slup rodzic podmienSlup2(rodzicSlup); $(this).removeClass('ba'); Gate(); rysujTrawnik(); odznacz(); if(slupdrewno == 1) narozniki(); zapiszLS(); if(!$('body').hasClass('stepbystep')) fitView(); pmenu('hide'); }// /usun plot $(document).on("click",".kosz", function(){usunPlot()}); //kolor slupow $(document).on("click", ".farbaslupa.dodatek.act", function(){ //ZMIANA KOLORU SLUPA ALU $('.farbaslupa').removeClass('ba'); $(this).addClass('ba'); let slupkolor = $(this).attr("data-kolor"); let textura = "maps/k-acpanthrazit.jpg"; if(slupkolor=='silber') {textura = "maps/k-aluminium.jpg"; $('#start-slup').addClass('slupsilber');kolorslupa = silber;} else {$('#start-slup').removeClass('slupsilber');kolorslupa = anthrazit;} $('.sluptexture').attr('url',textura); dodajPokrywe(); ustalStu(); zapiszLS(); }); //OPCJE //Pfosten Montage function opcjeSposobMontazu(){ let acbuttons = '
'; if(cennik['s-190-A'] || cennik['s-190-S']) { acbuttons +=` `; acbuttons +=``; } if(cennik['s-235-A'] || cennik['s-235-S']) { acbuttons +=` `; } if(cennik['s-295-A'] || cennik['s-295-S']) { acbuttons +=` `; } acbuttons +='
'; return acbuttons; }//Funkcje //zapiszLS function zapiszLS(){ if(wczytywanie) return; if($('#w0__Scena').children().length > 0){ var pamiec = $('
').append($('#w0__Scena').eq(0).clone()).html(); localStorage.setItem("pamiec", pamiec); localStorage.setItem("licznik", licznik); } } //uruchom konfiguracje function uruchomKonfiguracje(){ aktywny = "plot-Qr-1-slup"; kierunek="r"; if(nazwaplotu == "easy-boards") $('#z-180x180 button.plot.dodatek').click(); else $('.'+startzaun+'.plot.dodatek.act').click(); } function wskaz(event){ if($('body').hasClass('stepbystep')) return; if(obroty) return; if(nazwaplotu == "easy-fence" || nazwaplotu == "gardo" || nazwaplotu == "anjo" || nazwaplotu == "fabo" || nazwaplotu == "easy-rom" || nazwaplotu == "easy-boards"){ $('.cutcontainer').hide(); $('.cut').hide(); } var id = $(event.target).closest('.model').attr('id'); zaznaczPlot(id); event.stopPropagation(); }// /wskazPlot String.prototype.compress = function (asArray) { "use strict"; // Build the dictionary. asArray = (asArray === true); var i, dictionary = {}, uncompressed = this, c, wc, w = "", result = [], ASCII = '', dictSize = 256; for (i = 0; i < 256; i += 1) { dictionary[String.fromCharCode(i)] = i; } for (i = 0; i < uncompressed.length; i += 1) { c = uncompressed.charAt(i); wc = w + c; //Do not use dictionary[wc] because javascript arrays //will return values for array['pop'], array['push'] etc // if (dictionary[wc]) { if (dictionary.hasOwnProperty(wc)) { w = wc; } else { result.push(dictionary[w]); ASCII += String.fromCharCode(dictionary[w]); // Add wc to the dictionary. dictionary[wc] = dictSize++; w = String(c); } } // Output the code for w. if (w !== "") { result.push(dictionary[w]); ASCII += String.fromCharCode(dictionary[w]); } return asArray ? result : ASCII; }; String.prototype.decompress = function () { "use strict"; // Build the dictionary. var i, tmp = [], dictionary = [], compressed = this, w, result, k, entry = "", dictSize = 256; for (i = 0; i < 256; i += 1) { dictionary[i] = String.fromCharCode(i); } if(compressed && typeof compressed === 'string') { // convert string into Array. for(i = 0; i < compressed.length; i += 1) { tmp.push(compressed[i].charCodeAt(0)); } compressed = tmp; tmp = null; } w = String.fromCharCode(compressed[0]); result = w; for (i = 1; i < compressed.length; i += 1) { k = compressed[i]; if (dictionary[k]) { entry = dictionary[k]; } else { if (k === dictSize) { entry = w + w.charAt(0); } else { return null; } } result += entry; // Add w+entry[0] to the dictionary. dictionary[dictSize++] = w + entry.charAt(0); w = entry; } return result; }; function lzw64_encode(s) { if (!s) return s; var b64="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_"; var d=new Map(); var s=(encodeURIComponent(s)).split(""); var word=s[0]; var num=256; var key; var o=[]; function out(word,num) { key=word.length>1 ? d.get(word) : word.charCodeAt(0); o.push(b64[key&0x3f]); o.push(b64[(key>>6)&0x3f]); o.push(b64[(key>>12)&0x3f]); } for (var i=1; i

') var lspamiec = localStorage.getItem("pamiec"); if (lspamiec !== null) { var url = "../services/zapisz-shr.php", tmplicznik = licznik, lskolor=localStorage.getItem('lskolor'); //let kod = lspamiec.compress(); let kod = lzw64_encode(lspamiec); var posting = $.post( url, {data1:kod, data2:tmplicznik, data3:lskolor, data4:nazwaplotu }); posting.done(function( data ){ $('#sharelink').val(document.location.protocol+"//"+host+"/3d/"+lang+"/"+nazwaplotu+","+data); $('.sharepanel p.loading').remove(); $('.sharepanel .form-wrap').show(); }); } } function wczytajShr(secret){ var url = "../services/wczytaj-shr.php", $pid = secret; var posting = $.post( url, {data1:$pid}); posting.done(function(data){ if(data!="brak"){ if(data.length > 100) { var tmp = JSON.parse(data); var lspamiec = decodeURIComponent(tmp["lspamiec"]); let kod = lspamiec.decompress(); let checkcompress = kod.substring(0,3); if(checkcompress!="
'); $("#sharebut").click(function(){ var copyText = document.getElementById("sharelink"); copyText.select(); copyText.setSelectionRange(0, 99999) document.execCommand("copy"); $('#sharecopied').show(); }); function fitView(){ let obiekt = $('#start-slup')[0]; //document.getElementById('x3dElement').runtime.fitObject(obiekt); setTimeout(function(){ document.getElementById('x3dElement').runtime.fitObject(obiekt); },500); } function eyePlus(){ let obiekt = $('#'+aktywny)[0]; if(aktywny.indexOf('-slup') > 0 ) obiekt = shapeslup; document.getElementById('x3dElement').runtime.fitObject(obiekt); } $(document).on("click", ".eyeplus", function(){eyePlus()}); $(document).on("click", ".eyeminus", function(){fitView()}); var timeout; function x3domOnClickNavTool(e) { if (e.target.className.indexOf('cnt-') === 0) { e.stopPropagation(); x3domNavigateByButtons(e.target.className.replace('cnt-', '')); } } $(".rotary").bind('mousedown touchstart', function(event){ var rotary = $(this).attr('data-rot'); clearInterval(timeout); timeout = setInterval(function(){ x3domNavigateByButtons(rotary); event.preventDefault(); }, 100); }) const x3domButtonNavStep = 1 / 72; function x3domNavigateByButtons(move) { obroty = true; var rect, e, sx, sy, dx, dy; x3domContainer = document.getElementById('x3dElement'); var x3dCanvas = x3domContainer.getElementsByTagName('CANVAS')[0]; rect = x3domContainer.getBoundingClientRect(); e = { clientX: Math.round((rect.left + rect.right) * 0.5), clientY: Math.round((rect.top + rect.bottom) * 0.5), altKey: false, ctrlKey: false, metaKey: false, shiftKey: false, button: 0, buttons: 1 }; sx = Math.round(x3domButtonNavStep * (rect.right - rect.left)); sy = Math.round(x3domButtonNavStep * (rect.bottom - rect.top)); dx = 0; dy = 0; switch(move) { case 'rotD': dy = sy; break; case 'rotU': dy = -sy; break; case 'rotR': dx = sx; break; case 'rotL': dx = -sx; break; case 'panD': e.ctrlKey = true; dy = sy; break; case 'panU': e.ctrlKey = true; dy = -sy; break; case 'panR': e.ctrlKey = true; dx = sx; break; case 'panL': e.ctrlKey = true; dx = -sx; break; case 'zoomO': e.altKey = true; dx = sx; break; case 'zoomI': e.altKey = true; dx = -sx; break; case 'show': fitView(); obroty = false; return; case 'orig': x3dElement.runtime.resetView(); return; default: return; } e.clientX -= dx; e.clientY -= dy; x3dCanvas.dispatchEvent(new MouseEvent('mousedown', e)); x3dCanvas.dispatchEvent(new MouseEvent('mousemove', e)); e.clientX += dx; e.clientY += dy; x3dCanvas.dispatchEvent(new MouseEvent('mousemove', e)); e.buttons = 0; x3dCanvas.dispatchEvent(new MouseEvent('mouseup', e)); obroty = false; } $(document).bind('mouseup touchend mouseout keyup',function(){ clearInterval(timeout); //return false; }); document.addEventListener('keydown', x3domOnKeyUp, true); function x3domOnKeyUp(e) { if(document.activeElement.type=='radio') return; switch (e.key) { case 'ArrowUp': if (e.shiftKey) x3domNavigateByButtons('panU') else if (e.altKey) x3domNavigateByButtons('zoomI') else x3domNavigateByButtons('rotU') break; case 'ArrowDown': if (e.shiftKey) x3domNavigateByButtons('panD') else if (e.altKey) x3domNavigateByButtons('zoomO') else x3domNavigateByButtons('rotD') break; case 'ArrowLeft': if (e.shiftKey) x3domNavigateByButtons('panL') else x3domNavigateByButtons('rotL') break; case 'ArrowRight': if (e.shiftKey) x3domNavigateByButtons('panR') else x3domNavigateByButtons('rotR') break; case 'Delete': if($(".plot.dodatek.act.ba").length == 1 && (aktywny !== 'plot-Qr-1')) usunPlot(); break; } } $(document).on("click",".kosz", function(){$(".plot.dodatek.act.ba").click();}) function perspektywa(){ $("#faza").attr('set_bind','true'); document.getElementById('x3dElement').runtime.resetView(); fitView(); document.getElementById('x3dElement').runtime.resetView(); setTimeout(function(){ fitView(); },1000); } function helpanimation(){ $(".ibutton.uruchom").addClass('ani'); setTimeout(function(){ $(".ibutton.uruchom").removeClass('ani'); },8000); } $(".passicon").click(function() { $(this).toggleClass("off"); var input = $(this).closest('form').find("input[name='user_pass']"); if (input.attr("type") == "password") { input.attr("type", "text"); } else { input.attr("type", "password"); } }); function imgPDF(){ var imgUrl = document.getElementById("x3dElement").runtime.getScreenshot(); var sim = new Image; sim.src = imgUrl; var canvas = document.createElement('canvas'); canvas.id = "zrzut"; canvas.width = window.innerWidth; canvas.height = window.innerHeight; var ctx = canvas.getContext("2d"); sim.onload = function(){ var ratio = sim.width / sim.height ; var cw = 500*ratio; canvas.width=cw; canvas.height=500; ctx.drawImage(sim,0,0,sim.width,sim.height,0,0,cw,500); var img = canvas.toDataURL("image/png"); //document.write(''); let nimg = img.replace('data:image/png;base64,',''); $("iframe#okno-koszyk").contents().find('#zauncapture').val(nimg); console.log('fotodone'); zaunlinkshare(); //$("iframe#okno-koszyk").contents().find('body').html(''); } }//img pdf function zaunlinkshare(){ var lspamiec = localStorage.getItem("pamiec"); if (lspamiec !== null) { var url = "../services/zapisz-shr.php", tmplicznik = licznik, lskolor=localStorage.getItem('lskolor'); let kod = lzw64_encode(lspamiec); try { myVal = encodeURIComponent(kod); } catch (err) { kod = lspamiec; } var posting = $.post( url, {data1:kod, data2:tmplicznik, data3:lskolor, data4:nazwaplotu }); posting.done(function( data ){ let zaunlink = document.location.protocol+"//"+host+"/3d/"+lang+"/"+nazwaplotu+","+data; $("iframe#okno-koszyk").contents().find('#zaunlink').val(zaunlink); $("iframe#okno-koszyk").contents().find("#domapy").submit(); }); } } function linkshare(){ $("iframe#okno-koszyk").contents().find(".tytul").append('

'); $("iframe#okno-koszyk").contents().find("#domapy").hide(); imgPDF(); } //menu OPCJE $(".farby").click(function(){ odznacz(); showSlupClick(); $("#pasekboczny").addClass('fit'); pokazpasek(); pmenu('hide'); $('.mainmenu .btn').removeClass('active'); $(this).addClass('active'); }); $(".koszyk").click(function(){ odznacz(); wypelnijkoszyk(); pmenu('hide'); }); $(".user").click(function(){ pmenu('hide'); $('.tab').hide(); $(".upanel").show(); pokazpasek(); $('.mainmenu .btn').removeClass('active'); $(this).addClass('active'); }); var sendenmail = ""; $(document).on("click",".share",function(){ pmenu('hide'); sendenmail = ""; $('.buttonshr').show(); $('.tab').hide(); $( ".komunikat" ).empty().hide(); zapiszShr(); $(".sharepanel").show(); pokazpasek(); $('.mainmenu .btn').removeClass('active'); $(this).addClass('active'); }); $(document).on("click",".buttonshr",function(){ $(this).hide(); sendenmail = $('.mailshr').val(); }); $(document).on("input",".mailshr",function(){ if(sendenmail == $('.mailshr').val()) $('.buttonshr').hide(); else $('.buttonshr').show(); $(".komunikat").empty().hide(); }); //nowywymiar function nowywymiar(){ $('.newdim').remove(); // return; //forprint var Okula = $('.model[data-p!="sturmanker"][data-p!="plano"][data-p!="ledcolor"][data-p!="ledwhite"][data-p!="easywpc-mur-190"]'); var kula = Okula.toArray(); var modl=parseInt(gruboscslupa); if(nazwaplotu=='easy-fence' || nazwaplotu=='easy-boards' || nazwaplotu=='easy-rom'){ if($('#start-slup').children('.l_strona').children().length == 1) modl = modl - 4; } for(var i in kula){ // var mat = kula[i]._x3domNode.getCurrentTransform(); var odl = parseInt(kula[i].getAttribute('data-w')); var slup = $('#'+kula[i].id+'-slup'); if(nazwaplotu=='bondo-wpc') odl = odl + 2; else if(nazwaplotu=='carys-wpc') odl = odl + 2; else if(nazwaplotu=='fabo') odl = odl + 1; else if(nazwaplotu=='easy-fence' || nazwaplotu=='easy-boards' || nazwaplotu=='easy-rom'){ if($('#'+kula[i].id).hasClass('uchwytl')) odl = odl + 3; if($('#'+kula[i].id).hasClass('uchwytr')) odl = odl + 3; } modl = modl + odl+parseInt(gruboscslupa); if(slup.attr('data-hr') < 80 || (slup.attr('data-hf') > 80) || (slup.attr('data-hb') > 80)){ if(modl > 0){ let rotation = "1 0 0 -1.571"; let ndimx = -18; let ndimz = 0-modl/2; if(nazwaplotu=='easy-fence' || nazwaplotu=='easy-boards' || nazwaplotu=='easy-rom'){ if(slup.children('.r_strona').children().length == 1){ let sciana = slup.children('.r_strona').find('.model').attr('data-p'); if(sciana.indexOf('mur')!=-1) { modl = modl -4; } }} let podmurek=''; let wymiarbialy = '0 0 1.5'; if (window.hasOwnProperty('jestmauer') && jestmauer != 'off') { podmurek = ` `; wymiarbialy = '0 -30 1.5'; } $('#'+kula[i].id+'-slup').append(` `+podmurek+``); } modl=parseInt(gruboscslupa); } } } //blokady sprawdzBlokady = function(aktywny, strona, start){ var pole = $('#'+aktywny).children(strona); var kula = pole.toArray(); var mat = kula[0]._x3domNode.getCurrentTransform(); var kz = mat['_00'].toFixed(0), kx=mat['_20'].toFixed(0); pole = $('#'+aktywny); kula = pole.toArray(); mat = kula[0]._x3domNode.getCurrentTransform(); console.log(mat['_03'].toFixed(0)+':'+mat['_23'].toFixed(0)); var x = parseInt(mat['_03'].toFixed(0)), z = parseInt(mat['_23'].toFixed(0)); var nastepny = '',dx=x+9;dz=z+9; var wynik = -1; var robo = ''; if(kz == 1) { for (var j=9;j<190;j+=1){ dz = z+j; nastepny = x+':'+dz; if(zajete.indexOf(nastepny)!=-1){ console.log('stopz1'+j); wynik = j; robo = nastepny; break; } nastepny = dx+':'+dz; if(zajete.indexOf(nastepny)!=-1){ console.log('stopz2'+j); wynik = j; robo = nastepny; break; } } } else if(kz == -1) { for (var j=9;j<190;j+=1){ dz = z-j; nastepny = x+':'+dz; if(zajete.indexOf(nastepny)!=-1){ console.log('stop'+j); wynik = j; robo = nastepny; break; } nastepny = dx+':'+dz; if(zajete.indexOf(nastepny)!=-1){ console.log('stop'+j); wynik = j; robo = nastepny; break; } } } else if(kx == 1) { //dz = z - 9; for (var j=9;j<190;j+=1){ dx = x-j; nastepny = dx+':'+z; if(zajete.indexOf(nastepny)!=-1){ console.log('stop'+j); wynik = j; robo = nastepny; break; } nastepny = dx+':'+dz; if(zajete.indexOf(nastepny)!=-1){ console.log('stop'+j); wynik = j; robo = nastepny; break; } } } else if(kx == -1) { // dz = z - 9; for (var j=9;j<190;j+=1){ dx = x+j; nastepny = dx+':'+z; if(zajete.indexOf(nastepny)!=-1){ console.log('stop'+j); wynik = j; robo = nastepny; break; } nastepny = dx+':'+dz; if(zajete.indexOf(nastepny)!=-1){ console.log('stop'+j); wynik = j; robo = nastepny; break; } } } if(wynik>0){ wynik = wynik + start; if(wynik<70) { $('.plot.dodatek').removeClass('act'); } else if(wynik<100) { $('.plot.dodatek').removeClass('act'); if ($('#'+aktywny).hasClass('slup-180')) { $('.plot.dodatek[data-w="60"]').addClass('act'); } } else if(wynik<130) { $('.plot.dodatek[data-w="120"]').removeClass('act'); $('.plot.dodatek[data-w="180"]').removeClass('act'); } else if(wynik<190) { $('.plot.dodatek[data-w="180"]').removeClass('act'); } if(zajeteSlupy.indexOf(robo)!=-1) { if(wynik == 69) { $('.plot.dodatek[data-w="60"]').addClass('act'); } else if(wynik == 99) { $('.plot.dodatek[data-w="90"]').addClass('act'); } else if(wynik == 129) { $('.plot.dodatek[data-w="120"]').addClass('act'); } else if(wynik == 189) { $('.plot.dodatek[data-w="180"]').addClass('act'); } stopSlup = wynik; } tmp = $('.plot.act'); }//wynik > 0 } //start podaj dl plotu function rysujilekontener(){ var startzaundl = 180; if(nazwaplotu=='easy-fence' || nazwaplotu=='easy-boards' || nazwaplotu=='easy-rom') startzaundl = 177; else if(nazwaplotu=='bondo-wpc') startzaundl = 182; else if(nazwaplotu=='carys-wpc') startzaundl = 182; $(document).on('click', '.ilerazy.plus' ,function (event) { let dl = $('#ilerazy').val(); let dlugosc = parseInt($('#iledl').attr('data-i')); dl++; if(dl > 40) dl = 40; else { $('#ilerazy').val(dl); dlugosc = dlugosc + startzaundl + parseInt(gruboscslupa); $('#iledl').attr('data-i',dlugosc); let res = (dlugosc/100).toString(); res = res.replace(".", ","); $('#iledl').text(res); } }); $(document).on('click', '.ilerazy.minus' ,function (event) { let dl = $('#ilerazy').val(); let dlugosc = parseInt($('#iledl').attr('data-i')); dl--; if(dl < 1) dl = 1; else { $('#ilerazy').val(dl); dlugosc = dlugosc - startzaundl - parseInt(gruboscslupa); $('#iledl').attr('data-i',dlugosc); let res = (dlugosc/100).toString(); res = res.replace(".", ","); $('#iledl').text(res); } }); $(document).on('click', '#uruchomkonfiguracje' ,function (event) { ilerazy = $('#ilerazy').val(); if(ilerazy > 1) { ilerazy--; uruchomKonfiguracje(); } else { ekran2(); } }); dd = $('
'); dd.append('
'+TxPodajLiczbePrzesel+'
'); dd.append('

'+TxDlugoscPlotu+' ca. 191 m

'); dd.append(''); if(nazwaplotu=='easy-fence'){ dd.append('
 
'); dd.append('

'); dd.append('

'+TxPrzyciecie+'

'); } $(".kolory").prepend(dd); dd = $('
'); $(".kolory").prepend(dd); $(".kolory .accordion-button span").each(function(nr){$(this).text(nr+1);}); $(".kolory").append('
 
'); $('#pasekboczny').css('background','#fff'); } // /rysuj ile kontener //ODZNACZ function odznaczPlot(){ $('#start-slup .redbox[transparency="0.5"]').attr('transparency','1'); if(aktywny.indexOf('-slup')!=-1) return; $('#'+aktywny).find('.deska').find('Material').attr({diffuseColor:kolor['md'],specularColor:kolor['ms']}); $('#w0__fencekosz').remove(); $('#w0__fencetor').remove(); } function odznacz(){ if(aktywny!=''){ //odznacz plotu odznaczPlot(); //odznacz i ukryj arrow $('#'+aktywny).children('group').find('Material').attr({diffuseColor:'#aaa'}); $('#'+aktywny).children('group').children('.arrow').attr('render','false'); //odznacz slup $('#start-slup .slupredbox[transparency="0.5"]').attr('transparency','1'); if(aktywny.indexOf('-slup')==-1){ //odznacz i ukryj arrow $('#'+aktywny+"-slup").children('group').find('Material').attr({diffuseColor:'#aaa'}); $('#'+aktywny+"-slup").children('group').children('.arrow').attr('render','false'); } $('.oczy').hide(); aktywny = ''; } $('.akcesoria .ba').removeClass('ba'); } function wskazFence(event){ let activeid = '#'+aktywny.replace('-slup',''); $(activeid).click(); }; function fenceBin(){ let niko = $('#w0__fencekosz'); let wys = '205'; if (window.hasOwnProperty('extra') && extra == 'on') { wys = '230'; } if(!niko.length) niko = ''; $('#'+aktywny).append(niko); var fencedl = $('#'+aktywny).attr('data-w')/2; $('#w0__fencekosz').attr('translation','0 '+wys+' '+fencedl); if($('#'+aktywny).attr('data-p')=='sturmanker') $('#w0__fencekosz').attr('rotation','1 1 1 2.1'); else if($('#'+aktywny).attr('data-p')=='plano') $('#w0__fencekosz').attr('rotation','1 1 1 2.1'); else if($('#'+aktywny).attr('data-p')=='easywpc-mur-235')$('#w0__fencekosz').attr('translation','0 255 '+fencedl); else if($('#'+aktywny).attr('data-p')=='easywpc-mur-190')$('#w0__fencekosz').attr('translation','0 230 '+fencedl); } function pmenu(stan){ let myPc = document.getElementById('pmenu'); let iPc = bootstrap.Offcanvas.getOrCreateInstance(myPc); iPc[stan](); } var myOffcanvas = document.getElementById('pmenu') myOffcanvas.addEventListener('hide.bs.offcanvas', function () { odznacz(); $('.tab').hide(); $('.dopasuj').show(); $('#bus2').click(); }) //schrag function schragOpcje(event){ let rodzicSlup = $('#'+aktywny).closest('.slup'); let slup = $('#'+aktywny).siblings('.slup'); let w1 = rodzicSlup.attr('data-hr') let w2 = slup.attr('data-hl'); let skala = $('#'+aktywny).children('.canflip').attr('scale'); if(skala == '1 1 1') skala = '1 1 -1'; else skala = '1 1 1'; $('#'+aktywny).children('.canflip').attr('scale',skala); rodzicSlup.attr('data-hr',w2); slup.attr('data-hl',w1); podmienSlup2(rodzicSlup); podmienSlup2(slup); zapiszLS(); if(event) event.stopPropagation(); }