Tiramisu = { resBasePath: 'res/', ver: 'sp', fontSize: 2, initialTextPaneWidth: '340px' }; (function(tiramisu) { var m_runtimeReady = false, m_dragImage = null, m_emptyDragImage = null, m_selectedObject = null; var m_imgCanvasBuffer=null; function hideLoadOverlay() { if (progDAnim) progDAnim.doDraw(100); document.getElementById('contentFrame').style.visibility = 'visible'; $('#activity-indicator').fadeOut(800, 'swing', function() { $('#minute-of-ads-in-blog').fadeIn(800, 'swing'); setTimeout(function() {$('#minute-of-ads-in-blog').fadeOut(800, 'swing');}, 7000); }); ZaklDiv.style.visibility='visible'; ZaklDiv.style.top=((document.documentElement.clientHeight-60)/2-127)+'px'; window.setTimeout(function() { var overlay = document.getElementById('tiramisu-load-overlay2'); if (!overlay) return; overlay.className = ''; window.setTimeout(function() { VideoBannerDiv.style.display='block'; progDAnim=null; overlay.parentNode.removeChild(overlay); $('#contentFrame').removeClass("blurred"); }, 300); }, 200); } function setupNavigationBar(navigationItem) { var navigationBar = document.getElementById('navigationbar'); navigationBar.innerHTML = navigationItem; navigationBar.style.display = 'block'; $('#content').addClass('with-navigationbar'); } function setupPopovers(popovers) { var div = document.createElement('div'), body = document.body; div.id = 'tiramisu-popovers'; div.innerHTML = popovers; body.insertBefore(div, body.firstChild); } function setupTextPane() { var kSplitterWidth = '5px', left = document.getElementById('left-component').style, splitter = document.getElementById('splitter').style, width = tiramisu.initialTextPaneWidth; left.right = width; left.marginRight = kSplitterWidth; splitter.right = width; splitter.minWidth = kSplitterWidth; document.getElementById('right-component').style.width = width; $('div.split-pane').splitPane(); } tiramisu.didInitializeRuntime = function() { m_runtimeReady = true; if (typeof tiramisu.didChangeLayout === 'function') window.setTimeout(tiramisu.didChangeLayout, 0); } tiramisu.isRuntimeReady = function() { return m_runtimeReady; } function dragStart(event) { var objectURL = this.getAttribute('data-outline-object'); event.dataTransfer.effectAllowed = 'copy'; event.dataTransfer.setData('Text', objectURL); if (0) { var dragImage = document.createElement('img'); dragImage.src = this.firstChild.src; try { event.dataTransfer.setDragImage(dragImage, 0, 0); } catch(e) {} } Module.ccall('outline_dragStart', 'null', ['string'], [objectURL]); } function dragEnd(event) { Module.ccall('outline_dragEnd', 'null', ['string'], [this.getAttribute('data-outline-object')]); } function didChangeLayout() { if (tiramisu.isRuntimeReady()) { var pane = document.getElementById('content'); Module.ccall('tiramisu_resize', 'null', ['number', 'number'], [pane.clientWidth, pane.clientHeight]); } ZaklDiv.style.top=((document.documentElement.clientHeight-60)/2-110)+'px'; } tiramisu.updateGalleryPanel = function(cls_id,artcode,skipLog) { var request = new XMLHttpRequest(); CatalogCats[cCatalogCat]=cls_id; var urlStr='https://3d.stolplit.ru/gallery_new/menu_new_pure.php?ver='+tiramisu.ver+'®ion='+tiramisu.region+'&fontSize='+tiramisu.fontSize; if (cls_id && (cls_id>0)) urlStr+='&cid='+cls_id; else if (artcode && artcode.length) urlStr+='&artcode='+artcode; request.open('GET', urlStr, true); request.onreadystatechange = function() { if (request.readyState == 4 && request.status == 200) { var group = document.getElementById('outline3d-items'); var div = document.createElement('div'); div.innerHTML = request.responseText+'


'; group.replaceChild(div, group.firstChild); for(var imgSize=64;imgSize<=110;imgSize+=46) { var draggables = document.getElementsByClassName('tiramisu-draggable-item'+imgSize); Array.prototype.forEach.call(draggables, function(draggable) { draggable.setAttribute('draggable', 'true'); draggable.addEventListener('dragstart', dragStart, false); draggable.addEventListener('dragend', dragEnd, false); }); } } }; request.send(null); if (!skipLog && CatalogCats[cCatalogCat]) onSendGalleryChanged(cCatalogCat+';'+CatalogCats[cCatalogCat]); } var cCatalogCat=0; var CatalogCats=[0,4851]; tiramisu.SetCatalog = function(cCat,cVal) { if (cCat!=cCatalogCat) { var Zakl = document.getElementById('Mode3D_2'); var Zakl2 = document.getElementById('Mode3D_1'); if (cCat==1) { Zakl.src=Zakl.src.substring(0,Zakl.src.length-5)+'0.svg'; Zakl2.src=Zakl2.src.substring(0,Zakl2.src.length-5)+'1.svg'; cCatalogCat=1; } else if ((cCat==2)||(cCat==0)) { Zakl.src=Zakl.src.substring(0,Zakl.src.length-5)+'1.svg'; Zakl2.src=Zakl2.src.substring(0,Zakl2.src.length-5)+'0.svg'; cCatalogCat=0; } } CatalogCats[cCatalogCat]=cVal; Tiramisu.updateGalleryPanel(CatalogCats[cCatalogCat],'',1); } var bHideCatalog=0; var activeTimeInterval=null; var cSliderWidth=0; tiramisu.ShowHideCatalog0 = function() { var splitter = document.getElementById('splitter').style; var left = document.getElementById('left-component').style; if (bHideCatalog==0) { bHideCatalog=3; tiramisu.initialTextPaneWidth=splitter.right; splitter.right = '5px'; } else if (bHideCatalog==3) { bHideCatalog=0; splitter.right = tiramisu.initialTextPaneWidth; } SliderButt.src='images/stolplit/'+(bHideCatalog?'gallery_open.png':'gallery_hide.png'); document.getElementById('right-component').style.width = splitter.right; left.right = splitter.right; } tiramisu.ShowHideCatalog = function() { var splitter = document.getElementById('splitter').style; var left = document.getElementById('left-component').style; if ((bHideCatalog==0)||(bHideCatalog==3)) { cSliderWidth=document.getElementById('right-component').clientWidth; if (bHideCatalog==0) tiramisu.initialTextPaneWidth=cSliderWidth; bHideCatalog=(bHideCatalog==0)?1:2; if (activeTimeInterval!=null) clearInterval(activeTimeInterval); activeTimeInterval = setInterval (tiramisu.Slide3dWindow, 3); SliderButt.style.display='none'; } } tiramisu.Slide3dWindow = function() { if ((bHideCatalog==1)||(bHideCatalog==2)) { cSliderWidth=(bHideCatalog==1)?(cSliderWidth-3):(cSliderWidth+3); if (cSliderWidth>tiramisu.initialTextPaneWidth) cSliderWidth=tiramisu.initialTextPaneWidth; else if (cSliderWidth<0) cSliderWidth=0; var splitter = document.getElementById('splitter').style; var left = document.getElementById('left-component').style; splitter.right = cSliderWidth+'px'; document.getElementById('right-component').style.width = splitter.right; left.right = splitter.right; if (((cSliderWidth==0) && (bHideCatalog==1)) || ((cSliderWidth==tiramisu.initialTextPaneWidth) && (bHideCatalog==2))) { bHideCatalog=(bHideCatalog==1)?3:0; SliderButt.src='images/stolplit/'+(bHideCatalog?'gallery_open.png':'gallery_hide.png'); SliderButt.style.display='block'; if (activeTimeInterval!=null) clearInterval(activeTimeInterval); } } } tiramisu.DoSearchObjects = function() { if (MySearchMask.value.length==0) return; var Zakl = document.getElementById('Mode3D_2'); var Zakl2 = document.getElementById('Mode3D_1'); var urlStr='https://3d.stolplit.ru/gallery_new/menu_new_pure.php?ver='+tiramisu.ver+'®ion='+tiramisu.region+'&fontSize='+tiramisu.fontSize+'&search='+MySearchMask.value; if (Zakl2.src.indexOf('1.svg')>0) urlStr+='&accsearch=1'; var request = new XMLHttpRequest(); request.open('GET', urlStr, true); request.onreadystatechange = function() { if (request.readyState == 4 && request.status == 200) { Zakl.src=Zakl.src.substring(0,Zakl.src.length-5)+'0.svg'; //Zakl2.src=Zakl2.src.substring(0,Zakl2.src.length-5)+'0.svg'; //cCatalogCat=-1; var group = document.getElementById('outline3d-items'); var div = document.createElement('div'); div.innerHTML = request.responseText+'


'; group.replaceChild(div, group.firstChild); for(var imgSize=64;imgSize<=110;imgSize+=46) { var draggables = document.getElementsByClassName('tiramisu-draggable-item'+imgSize); Array.prototype.forEach.call(draggables, function(draggable) { draggable.setAttribute('draggable', 'true'); draggable.addEventListener('dragstart', dragStart, false); draggable.addEventListener('dragend', dragEnd, false); }); } } }; request.send(null); } tiramisu.SwitchCatalog = function(mode) { var Zakl = document.getElementById('Mode3D_2'); var Zakl2 = document.getElementById('Mode3D_1'); if (mode==1) { Zakl.src=Zakl.src.substring(0,Zakl.src.length-5)+'0.svg'; Zakl2.src=Zakl2.src.substring(0,Zakl2.src.length-5)+'1.svg'; cCatalogCat=1; Tiramisu.updateGalleryPanel(CatalogCats[cCatalogCat]); } else if (mode==2) { Zakl.src=Zakl.src.substring(0,Zakl.src.length-5)+'1.svg'; Zakl2.src=Zakl2.src.substring(0,Zakl2.src.length-5)+'0.svg'; cCatalogCat=0; Tiramisu.updateGalleryPanel(CatalogCats[cCatalogCat]); } if (bHideCatalog==3) Tiramisu.ShowHideCatalog(); event.preventDefault(); } tiramisu.RefreshCatalog = function() { Tiramisu.updateGalleryPanel(CatalogCats[cCatalogCat]); } tiramisu.didFinishLoadDocument = function(doc,ObjectToLoadCount) { setTimeout("Tiramisu.action('ShouldUpdateHeaderSum')",5000); setTimeout("Tiramisu.action('ShouldUpdateHeaderSum')",10000); setTimeout("Tiramisu.action('ShouldUpdateHeaderSum')",20000); setTimeout("Tiramisu.action('ShouldUpdateHeaderSum')",30000); var canvas = document.getElementById('canvas'); document.getElementById('canvas').style.display = 'block'; PanelService.showPanels(true); tiramisu.ui.setupTextPane(); tiramisu.didChangeLayout = didChangeLayout; window.addEventListener('resize', didChangeLayout, false); console.log('ObjectToLoadCount='+ObjectToLoadCount); if ((ObjectToLoadCount!=undefined) && (ObjectToLoadCount==0)) { hideLoadOverlay(); if (tiramisu.teleport.length) { StartSendTeleportData(); Tiramisu.ShowHideCatalog(); } try { setTimeout(DoSendStatInfo,15000); } catch(e) {} } didChangeLayout(); tiramisu.util.livingOnTheEdge(); // Adapting to survive in Microsoft's neighbourhood. Thug life. tiramisu.updateGalleryPanel(CatalogCats[cCatalogCat]); canvas.addEventListener('dragover', function(event) { event.preventDefault(); event.dataTransfer.dropEffect = 'copy'; Module.ccall('outline_dragContinue', 'null', ['number', 'number'], [event.clientX, event.clientY]); return false; }, false); canvas.addEventListener('dragenter', function(event) { Module.ccall('outline_dragEnter', 'null', ['number', 'number'], [event.clientX, event.clientY]); return false; }, false); canvas.addEventListener('dragleave', function (event) { Module.ccall('outline_dragLeave'); }, false); canvas.addEventListener('drop', function(event) { event.stopPropagation(); event.preventDefault(); // var objectURL = event.dataTransfer.getData('Text'); if ((event.clientX===undefined) && (event.clientY===undefined)) Module.ccall('outline_drop', 'null', ['number', 'number'], [event.offsetX, event.offsetY]); else Module.ccall('outline_drop', 'null', ['number', 'number'], [event.clientX, event.clientY]); return false; }); var group = document.getElementById('outline-object-properties'); var groupOper = document.getElementById('outline-object-oper'); group.style.visibility = 'hidden'; groupOper.style.display = 'none'; } tiramisu.updateObjectsLoadProgress= function(iObj,ObjCount) { progDAnimState=1000; console.log('updateObjectsLoadProgress '+iObj+' '+ObjCount) if (iObj>=ObjCount) { hideLoadOverlay(); if (tiramisu.teleport.length) { StartSendTeleportData(); Tiramisu.ShowHideCatalog(); } try { setTimeout(DoSendStatInfo,15000); } catch(e) {} } else { if (progDAnim) progDAnim.doDraw((100*(iObj+ObjCount)/(2*ObjCount))); } } tiramisu.didFailLoadDocument = function(message) { AlertService.presentWithText( 'An error occurred while loading document.
' + message, 'Error Loading Document', AlertService.CAUTION | AlertService.HIDE_CLOSE_BUTTON); hideLoadOverlay(); } tiramisu.didClickHyperlink = function(urls) { if (tiramisu.openDocument) { for (var i = 0; i < urls.length; ++i) { if (urls[i].lastIndexOf('urn:cortona3d:item-by-name:', 0) == 0) { tiramisu.openDocument(urls[i].slice(27)); break; } } } } tiramisu.processAnchorURL = function(url) { return null; } function rnd(x,nSgn) { var a=Math.pow(10,nSgn); return Math.round(x*a)/a; } tiramisu.didSelectObject = function(object, x, y) { if (!object) { if (m_selectedObject) { var group = document.getElementById('outline-object-properties'); var groupOper = document.getElementById('outline-object-oper'); group.style.visibility = 'hidden'; groupOper.style.display = 'none'; m_selectedObject = null; } return; } console.log('didSelectObject: ', object ? object.id : '[null]', ' @(', x, ',', y, ')'); if (m_selectedObject && object.id == m_selectedObject.id) return; m_selectedObject = object; SetSensorType(0); var request = new XMLHttpRequest(); request.open('GET', 'https://3d.stolplit.ru/gallery_new/param_page_pure.php?ver='+tiramisu.ver+'®ion='+tiramisu.region+'&ourl0='+object.id+'&is_esc=%22', true); request.onreadystatechange = function() { if (request.readyState == 4 && request.status == 200) { var group = document.getElementById('outline-object-properties'); var groupOper = document.getElementById('outline-object-oper'); if (request.responseText.length) { var div = document.createElement('div'); div.style.cursor='move'; div.innerHTML = request.responseText; for(kP=div.childNodes.length-1;kP>=0;kP--) { var param=div.childNodes[kP]; if ((param.tagName=='DIV') && (param.id=='ObjectParametersValues')) { eval(param.innerText); break; } } setTimeout(RV,1); group.replaceChild(div, group.firstChild); group.style.visibility = 'visible'; groupOper.style.display = 'block'; groupOper.style.left=group.style.left; groupOper.style.bottom=(parseInt(group.style.bottom)-50)+'px'; try { var StrParamText=Module.ccall('outline_getActiveObjectParameters', 'string'); var StrParams; if (StrParamText && StrParamText.length) { if (StrParamText[StrParamText.length-1]=='(') StrParamText=StrParamText.substr(0,StrParamText.length-1)+"']" eval('StrParams='+StrParamText); if (StrParams && StrParams.length) { console.log("StrParams.length="+StrParams.length+' editCnt='+editCnt); for(var j=0;j0) tiramisu.CreateTemplate1(); else tiramisu.CreateTemplate2(); } tiramisu.showNewScene = function() { var group = document.getElementById('outline-object-spec'); group.style.overflow='hidden'; var div = document.createElement('div'); var groupWidth=Math.min(700,document.documentElement.clientWidth-60); var groupHeight=353+42; div.innerHTML = GetWindowFullHtmlCode('
Выберите один из вариантов планировки
см
см
 
см
см
см
см
 
',groupWidth,groupHeight,'closeSceneSpec()',0) $("#outline-object-spec").scrollTop(); group.replaceChild(div, group.firstChild); group.style.visibility = 'visible'; group.style.width=groupWidth+'px'; group.style.height=groupHeight+'px'; DoCenterWindow(group); } tiramisu.showPlanEditor = function(sceneWrl,sceneO3d) { var group = document.getElementById('outline-object-spec'); group.style.overflow='hidden'; var div = document.createElement('div'); var groupWidth=400; var groupHeight=353+42; var iTemplate=(sceneWrl.indexOf('scenes/template2.wrl.php')>=0)?2:1; var syn_code=''; var i1=sceneWrl.indexOf('W='); var W=(i1>0)?Math.floor(parseFloat(sceneWrl.substr(i1+2))*100+0.5):0; i1=sceneWrl.indexOf('H='); var H=(i1>0)?Math.floor(parseFloat(sceneWrl.substr(i1+2))*100+0.5):0; if (iTemplate!=2) syn_code+=''; else { i1=sceneWrl.indexOf('WM='); var Wm=(i1>0)?Math.floor(parseFloat(sceneWrl.substr(i1+3))*100+0.5):0; i1=sceneWrl.indexOf('HM='); var Hm=(i1>0)?Math.floor(parseFloat(sceneWrl.substr(i1+3))*100+0.5):0; syn_code+=''; } syn_code+='
Измените размеры помещения
см
см
 
см
см
см
см
 
'; div.innerHTML = GetWindowFullHtmlCode(syn_code,groupWidth,groupHeight,'closeSceneSpec()',0) $("#outline-object-spec").scrollTop(); group.replaceChild(div, group.firstChild); group.style.visibility = 'visible'; group.style.width=groupWidth+'px'; group.style.height=groupHeight+'px'; DoCenterWindow(group); } tiramisu.showStatistic = function(ourls) { var request = new XMLHttpRequest(); request.open('POST', 'https://3d.stolplit.ru/main/oi_page_pure.php?ver='+tiramisu.ver+'®ion='+tiramisu.region+'&is_esc=%22&designer=0', true); request.onreadystatechange = function() { if (request.readyState == 4 && request.status == 200) { var group = document.getElementById('outline-object-spec'); if (request.responseText.length) { group.style.overflowY='hidden'; group.style.overflowX='hidden'; closeProjectProperties(); Tiramisu.action('DeselectAll'); var div = document.createElement('div'); var groupWidth=Math.min(700,document.documentElement.clientWidth-60); div.innerHTML = GetWindowFullHtmlCode(request.responseText,groupWidth-15,(document.documentElement.clientHeight-210)-20,'closeSceneSpec()',1,'Спецификация'); $("#outline-object-spec").scrollTop(); group.replaceChild(div, group.firstChild); group.style.visibility = 'visible'; group.style.width=groupWidth+'px'; group.style.height=(document.documentElement.clientHeight-210)+'px'; DoCenterWindow(group); } else group.style.visibility = 'hidden'; } }; request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded') request.send(ourls); } tiramisu.setChanged = function(val) { tiramisu.changed=val; } tiramisu.loadScene = function() { var group = document.getElementById('outline-object-spec'); var div = document.createElement('div'); div.style.overflow='hidden'; group.style.overflow='hidden'; var groupWidth=Math.min(300,document.documentElement.clientWidth-60); var html_code=''; html_code+=''; html_code+=''; html_code+='
Введите код проекта

'; html_code+='
 
'; div.innerHTML = html_code+''; $("#outline-object-spec").scrollTop(); group.replaceChild(div, group.firstChild); group.style.visibility = 'visible'; group.style.width=groupWidth+'px'; group.style.height=Math.min(is_touch_device()?200:165,document.documentElement.clientHeight-210)+'px'; group.style.top='75px'; group.style.left=(document.documentElement.clientWidth-groupWidth)/2+'px'; } tiramisu.saveScene = function(save_data) { var request = new XMLHttpRequest(); request.open('POST', 'scenes/save_scene.php?ver='+tiramisu.ver+'&project='+tiramisu.project+'&is_esc=%22', true); request.onreadystatechange = function() { if (request.readyState == 4 && request.status == 200) { var group = document.getElementById('outline-object-spec'); if (request.responseText.length && (request.responseText.substr(0,3)=='ok:')) { var div = document.createElement('div'); div.style.overflow='hidden'; group.style.overflow='hidden'; var groupWidth=Math.min(500,document.documentElement.clientWidth-60); var groupHeight=Math.min(251,document.documentElement.clientHeight-210); var html_code=''; html_code+=''; html_code+=''; html_code+=''; html_code+=''; html_code+=''; html_code+='
Вы можете отправить ссылку на почту,
\ для продолжения работы в другом браузере,
\ или загрузить свой проект чтобы открыть его
\ в нашей 3д программе.
'; html_code+='
ссылка на ваш проект
 
 
'; div.innerHTML = GetWindowFullHtmlCode(html_code,groupWidth,groupHeight,'closeSceneSpec()',0) $("#outline-object-spec").scrollTop(); group.replaceChild(div, group.firstChild); group.style.visibility = 'visible'; group.style.width=groupWidth+'px'; group.style.height=groupHeight+'px'; DoCenterWindow(group); } else group.style.visibility = 'hidden'; } }; request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded') request.send(save_data); } tiramisu.autoSaveScene = function(save_data) {if (Tiramisu.autoSaveType==1) Render3dGlasses(save_data); else if (Tiramisu.autoSaveType==10) { var request = new XMLHttpRequest(); request.open('POST', 'scenes/save_scene.php?ver='+tiramisu.ver+'&teleport_mode=1&is_esc=%22', true); request.onreadystatechange = function() { if (request.readyState == 4 && request.status == 200) { var group = document.getElementById('outline-object-spec'); if (request.responseText.length && (request.responseText.substr(0,3)=='ok:')) { var teleportKey=request.responseText.substr(3); tiramisu.teleport=teleportKey+'_0'; StartSendTeleportData(); var div = document.createElement('div'); div.style.overflow='hidden'; group.style.overflow='hidden'; var groupWidth=Math.min(300,document.documentElement.clientWidth-60); var groupHeight=Math.min(206,document.documentElement.clientHeight-210); var html_code=''; html_code+=''; html_code+=''; html_code+=''; html_code+=''; html_code+=''; html_code+='
Телепорт
Ваш ключ:'+teleportKey+'
 
 
'; div.innerHTML = GetWindowFullHtmlCode(html_code,groupWidth,groupHeight,'closeSceneSpec()',0); $("#outline-object-spec").scrollTop(); group.replaceChild(div, group.firstChild); group.style.visibility = 'visible'; group.style.width=groupWidth+'px'; group.style.height=groupHeight+'px'; DoCenterWindow(group); } else group.style.visibility = 'hidden'; } }; request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded') request.send(save_data); } else if (Tiramisu.autoSaveType==11) { var request = new XMLHttpRequest(); request.open('POST', 'scenes/save_scene.php?ver='+tiramisu.ver+'&autosave=&is_esc=%22', true); request.onreadystatechange = function() { if (request.readyState == 4 && request.status == 200) { if (request.responseText.length && (request.responseText.substr(0,3)=='ok:')) { var i1=request.responseText.lastIndexOf('|'); var sceneWrl=request.responseText.substr(3,i1-3); var sceneO3d=request.responseText.substr(i1+1); Tiramisu.showPlanEditor(sceneWrl,sceneO3d); } } }; request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded') request.send(save_data); } else ShowCompetionDialog(save_data); } var objectUrlLoadedTimeInterval=null; var bUpdateHeaderSumFlag=0; tiramisu.objectUrlLoaded = function() { if (objectUrlLoadedTimeInterval!=null) { clearTimeout(objectUrlLoadedTimeInterval); objectUrlLoadedTimeInterval=null; } objectUrlLoadedTimeInterval = setTimeout(DoRefreshSceneAfterLoad, 1000); } function DoRefreshSceneAfterLoad() { objectUrlLoadedTimeInterval=null; Tiramisu.action('DoRefreshSceneAfterLoad'); } tiramisu.updateHeaderSum = function(ourls) { var request = new XMLHttpRequest(); request.open('POST', 'https://3d.stolplit.ru/main/oi_page_pure.php?ver='+tiramisu.ver+'®ion='+tiramisu.region+'&is_esc=%22&GetPriceMode=1&designer=0', true); request.onreadystatechange = function() { if (request.readyState == 4 && request.status == 200) { if (request.responseText.length) { var ii=request.responseText.indexOf('\n'); var ii2=(ii>0)?request.responseText.indexOf('\n',ii+2):-1; cPriceInProject=parseInt((ii>0)?request.responseText.substring(0,ii):request.responseText); if (ii2>0) { document.getElementById('BasketFormQuick').Articuls.value=(ii>0)?request.responseText.substring(ii+1,ii2):''; document.getElementById('SaveFormQuick').articuls.value=(ii>0)?request.responseText.substring(ii+1,ii2):''; productsForPushJsonDataStr=request.responseText.substring(ii2+1); } else { document.getElementById('BasketFormQuick').Articuls.value=(ii>0)?request.responseText.substring(ii+1):''; document.getElementById('SaveFormQuick').articuls.value=(ii>0)?request.responseText.substring(ii+1):''; } if (isNaN(cPriceInProject)) cPriceInProject=0; if (!moneyTimeInterval) CheckUpdateHeaderSum(); } } }; request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded') request.send(ourls); } tiramisu.onCamChanged = function(camName) { var Cams=['CamDown','CamIso','CamUp']; for(var k=0;k0) out+=n3+' '; if (n2>0) { if (n3>0) { for(var k=n2.toString().length;k<3;k++) out+='0'; } out+=n2+' '; } if ((n3>0)||(n2>0)) for(var k=n1.toString().length;k<3;k++) out+='0'; out+=n1; return out; } var cPriceInHeader=0; var cPriceInProject=0; var moneyTimeInterval = null; function CheckUpdateHeaderSum() { if ((cPriceInHeader==0) && (cPriceInProject>0)) { cPriceInHeader=cPriceInProject; document.getElementById('outPriceDiv').innerHTML=''+SeparatePrice(cPriceInProject)+' р.'; } else { if (cPriceInProjectcPriceInHeader) cPriceInHeader=Math.min(cPriceInProject,cPriceInHeader+1234); document.getElementById('outPriceDiv').innerHTML=''+SeparatePrice(cPriceInHeader)+' р.'; if (cPriceInHeader!=cPriceInProject) moneyTimeInterval = setTimeout(CheckUpdateHeaderSum, 30); } moneyTimeInterval=null; } tiramisu.setCurrentCam = function(camName) { Module.ccall('outline_setCurrentCam', 'null', ['string'], [camName.toString()]); } tiramisu.action = function(paramName,paramValue) { Module.ccall('outline_action', 'null', ['string','string'], [paramName.toString(),(paramValue===undefined)?'':paramValue.toString()]); } tiramisu.action_get = function(paramName,paramValue) { return Module.ccall('outline_action_get', 'string', ['string','string'], [paramName.toString(),(paramValue===undefined)?'':paramValue.toString()]); } tiramisu.applyObjectParameters = function(params) { var count = params.length, carray = Module._malloc(count * 4), i, item; for (i = 0; i < count; ++i) { item = allocate(intArrayFromString(params[i].toString()), 'i8', ALLOC_STACK); Module.setValue(carray + i * 4, item, 'i32'); } Module.ccall('outline_applyObjectParameters', 'null', ['number', 'number', 'number'], [m_selectedObject.handle, carray, count]); Module._free(carray); } tiramisu.util = { wrapStringArray: function(data, size) { var strings = new Array(size), i; for (i = 0; i < size; ++i) strings[i] = Pointer_stringify(getValue(data + i * 4, 'i32')); return strings; }, wrapSheetArray: function(data, size) { if (!size) return []; var sheets = new Array(size), i; for (i = 0; i < size; ++i, data += 12) { sheets[i] = { id: Pointer_stringify(getValue(data, 'i32')), description: Pointer_stringify(getValue(data + 4, 'i32')), indentationLevel: getValue(data + 8, 'i32') } } return sheets; }, loadScript: function(fileName, async) { var scriptElement = document.createElement('script'); scriptElement.setAttribute('type', 'text/javascript'); scriptElement.setAttribute('src', tiramisu.resBasePath + fileName); if (async) scriptElement.setAttribute('async', 'async'); document.getElementsByTagName('head')[0].appendChild(scriptElement); }, loadStyleSheet: function(fileName) { var linkElement = document.createElement('link'); linkElement.href = tiramisu.resBasePath + fileName; linkElement.rel = 'stylesheet'; linkElement.type = 'text/css'; document.getElementsByTagName('head')[0].appendChild(linkElement); }, livingOnTheEdge: function() { if (typeof window.MSGesture !== 'function') return; console.log("Adapting to survive in Microsoft's neighbourhood. Thug life."); var popovers = document.getElementById('tiramisu-popovers'), popover, canvas = document.getElementById('canvas'), recognizer = new MSGesture(), i; if (popovers) { function eventStopper(event) {event.stopPropagation();} popovers = popovers.childNodes; for (i = 0; i < popovers.length; ++i) { popover = popovers[i]; popover.addEventListener('pointerdown', eventStopper, false); popover.addEventListener('pointerup', eventStopper, false); } } recognizer.target = canvas; function gestureHandler(event) { Module.ccall('tiramisu_microsoftGesture', 'null', ['number', 'number', 'number', 'number', 'number'], [event.translationX, event.translationY, event.scale, event.rotation, event.detail]); } canvas.addEventListener('MSHoldVisual', function(event) {event.preventDefault();}, false); canvas.addEventListener('MSGestureStart', gestureHandler, false); canvas.addEventListener('MSGestureEnd', gestureHandler, false); canvas.addEventListener('MSGestureChange', gestureHandler, false); canvas.addEventListener('MSInertiaStart', gestureHandler, false); canvas.addEventListener('MSGestureTap', gestureHandler, false); canvas.addEventListener('MSGestureHold', gestureHandler, false); canvas.addEventListener('pointerdown', function(event) { if (event.pointerType == 'mouse') {canvas.setPointerCapture(event.pointerId); return;} if (Module.ccall('tiramisu_microsoftPointerDown', 'number', ['number', 'number', 'number'], [event.pointerId, event.offsetX, event.offsetY])) { canvas.setPointerCapture(event.pointerId); recognizer.addPointer(event.pointerId); } }, false); canvas.addEventListener('pointerup', function(event) { if (event.pointerType == 'mouse') return; event.stopPropagation(); Module.ccall('tiramisu_microsoftPointerUp', 'number', ['number'], [event.pointerId, event.offsetX, event.offsetY]); }, false); window.addEventListener('pointerup', function(event) { if (event.pointerType == 'mouse') return; var box = canvas.getBoundingClientRect(), left = box.left + window.pageXOffset - document.body.clientLeft, top = box.top + window.pageYOffset - document.body.clientTop; Module.ccall('tiramisu_microsoftPointerUp', 'number', ['number'], [event.pointerId, event.pageX - left, event.pageY - top]); }, false); } } tiramisu.ui = { hideLoadOverlay: hideLoadOverlay, setupNavigationBar: setupNavigationBar, setupPopovers: setupPopovers, setupTextPane: setupTextPane } }(Tiramisu));