{"version":3,"sources":["webpack://FactoryManager/webpack/runtime/load script","webpack://FactoryManager/webpack/runtime/css loading","webpack://FactoryManager/./Plunge/src/js/3x1010/Pqp.js","webpack://FactoryManager/./Plunge/src/js/engine/Labels.js","webpack://FactoryManager/./Plunge/src/js/engine/Scene.js","webpack://FactoryManager/./Plunge/src/js/engine/MappaHud.js","webpack://FactoryManager/./Plunge/src/js/engine/Welcome.js","webpack://FactoryManager/./Plunge/src/js/engine/Istruzioni.js","webpack://FactoryManager/./Plunge/src/js/engine/Radar.js","webpack://FactoryManager/./Plunge/src/js/engine/Wgallery.js","webpack://FactoryManager/./Plunge/src/js/engine/WinfoImage.js","webpack://FactoryManager/./Plunge/src/js/engine/Wyt.js","webpack://FactoryManager/./Plunge/src/js/engine/Wiframe.js","webpack://FactoryManager/./Plunge/src/js/engine/Wcustom.js","webpack://FactoryManager/./Plunge/src/js/engine/AddHotspot.js","webpack://FactoryManager/./Plunge/src/js/3x1010/sounder/SoundSingle.js","webpack://FactoryManager/./Plunge/src/js/3x1010/sounder/Sounder.js","webpack://FactoryManager/./Plunge/src/js/engine/AudioPanel.js","webpack://FactoryManager/./Plunge/src/js/engine/Main.js","webpack://FactoryManager/./Plunge/src/js/engine/InitPano.js","webpack://FactoryManager/./Plunge/src/js/FactoryManager.js","webpack://FactoryManager/./node_modules/mini-css-extract-plugin/dist/hmr/hotModuleReplacement.js","webpack://FactoryManager/./node_modules/mini-css-extract-plugin/dist/hmr/normalize-url.js","webpack://FactoryManager/./Plunge/src/scss/styles.scss?4179","webpack://FactoryManager/webpack/bootstrap","webpack://FactoryManager/webpack/startup","webpack://FactoryManager/webpack/runtime/define property getters","webpack://FactoryManager/webpack/runtime/get javascript update chunk filename","webpack://FactoryManager/webpack/runtime/get mini-css chunk filename","webpack://FactoryManager/webpack/runtime/get update manifest filename","webpack://FactoryManager/webpack/runtime/getFullHash","webpack://FactoryManager/webpack/runtime/global","webpack://FactoryManager/webpack/runtime/hasOwnProperty shorthand","webpack://FactoryManager/webpack/runtime/hot module replacement","webpack://FactoryManager/webpack/runtime/publicPath","webpack://FactoryManager/webpack/runtime/jsonp chunk loading"],"names":["inProgress","dataWebpackPrefix","createStylesheet","findStylesheet","oldTags","newTags","applyHandler","Pqp","xValue","level","colors","console","isNullOrEmpty","length","log","a","String","Number","Array","undefined","name","match","RegExp","exec","window","location","search","decodeURIComponent","replace","o","j","x","i","parseInt","Math","random","max","min","floor","nProb","nSpace","nProd","range","nMin","nMax","rangeInt","str","fnd","repl","safeReplace","input","sep","sepdec","num","minus","out","dotPos","split","dotU","dotD","commaFlag","substring","mCf","nSomma","nConta","cCifra","nPuntatore","nNp","nNd","nCf1","aNumLet","aNumeri1","aNumeri2","push","charAt","_ascan","_parteInt","nNumero","aTmp","lTrovato","sString","sCode","sTmp","charCodeAt","sChar","_removeZero","substr","fromCharCode","nQuanti","n","s","s1","toUpperCase","_soloCharNumber","sControllo","_carCon","sRet","c","uEncode8","uDecode8","k","ret","toString","u","dt","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","email","test","rep","replaceWith","sb","found","sLen","rLen","lMoltiBr","chars","lBarraEnne","lHodor","lorem","lUid","lNoPunteggiatura","lTitle","lEmail","consonanti","doppie","mediane","iniziali","vocali","nomi","cognomi","punteggiatura","chiusura","domini","oTmp","lName","rnd","shuffle","isNumber","trace","lNoBr","frase","len","stepNome","lastUno","contaDoppie","lPrimo","ln","lastVocale","word","lOk","check","indexOf","lCondExit","cc","nextPun","lastPunto","lBr","lVirg","finale","tot","jQuery","trim","toLowerCase","tmp","cnt","uid","r","diacriticsMap","defaultDiacriticsRemovalap","letters","base","newStr","mobile","navigator","userAgent","platform","maxTouchPoints","lIpaddone","isMobile","innerHeight","innerWidth","Labels","LABELS","Scene","hide","pano","quante","get","sceneXml","scene","getSceneByName","set","userLang","setHotspotsAction","spot","first","this","lastSceneSpot","getCurrentScene","getSceneBySpot","call","Main","that","fhlookat","hlookat","vlookat","fvlookat","lSkip","PLUNGE_SETTINGS","uidTour","parseFloat","SceneList","SCENE","sceneName","quanti","elenco","elenco50","hs","scene_el","sceneLocal","getHotspotByName","title","setta","url","onhover","onclick","ondown","zorder","newhs","padr","w","width","oldWidth","animationTriggerNew","triggeraAnimazione","onloaded","setTimeout","proxy","startHsAnimation","fatte","triggerevent","hotspots","y","MappaHud","callback","btn","mc","clone","attr","ENUM","ui","prepend","on","showMap","TweenMax","to","opacity","css","onComplete","remove","off","append","html","lbl","attuale","toAppend","toHigh","row","col","top","patchPosx","patchPosy","left","patchaPercTop","patchaPercLeft","caption","showOnMap","p","area","dismiss","data","show","hsdesc","sort","b","dummy","removeAttr","t","text","lFound","norienta","addClass","orientaIndicatore","indicatore","current","getOrientamentoBySceneName","dif","prealign","view","curAngle","adjust","abs","sfaso","customs","angle_span","adjustAngle","value","gotoScene","type","EVENT_GOTO_SCENE","lFlag","Welcome","canClose","delay","canInteract","isIos","Istruzioni","gotoAltraLingua","lngs","welcome","btnwelcome","btnwelcomeeng","interactivemap","btnenter","lng","language","DEFAULT_LANGUAGE","href","prettyUlr","requestFullscreen","Radar","destroyed","mapHidden","init","lInstant","destroy","openMap","placeDots","requestAnimationFrame","update","indicatoremc","objDataIndicatore","centraMappa","stopUpdate","currentRoom","showIndicatore","bind","coord","position","sh","height","sw","mcw","mch","Wgallery","parms","ct","htocheck","startSlide","videos","checkH","parm","gatherItems","items","template","T_STANDARD","gatherFromIdGallery","T_MULTIPLA","T_POSTERS","ITEM_QUADRATO","img","ITEM_HRETTANGOLO","ITEM_YT","ITEM_VRETTANGOLO","buildGallery","InfoJson","rows","image","footer","description","galltemplate","tipo","nomegal","buildItemQuadrato","buildItemOrizzontale","buildItemYt","buildItemVerticale","ITEM_TOTEM","buildItemTotem","ITEM_ANNO","buildItemAnno","ITEM_PHOTO","buildItemPhoto","closeFrame","swiper","Swiper","navigation","nextEl","prevEl","slideChanged","initialSlide","preloadImages","lazy","clearTimeout","idcheck","setH","onGotoSection","dest","moveBorder","offset","e","index","activeIndex","createIFrame","item","clip","desc","iframe","Wyt","code","sy","getYoutubeString","idres","checkHtocheck","fith","clipCont","safe","pad","WinfoImage","iframe_url","dispatch","HS_EVENT_HIDE_INTERFACE","createYt","HS_EVENT_SHOW_INTERFACE","ID","Wiframe","link","precheckHtocheck","fitFrame","Wcustom","lDaFuori","clips","openWindow","destination","document","open","AddHotspot","payload","createAlert","lAdded","bd","clickedAggiungi","checkSubmit","note","val","datiForm","Nome","attiva","ath","atv","COSTANTE_VERTICALE","bitmap","parent","_hotSpotCmsHandler","onSendFormResponseError","bSuccess","SoundSingle","sounder","id","path","ready","isPreloading","isPlaying","instances","counterID","garbage","createjs","Sound","alternateExtensions","queue","LoadQueue","installPlugin","addEventListener","singlePreloaded","src","loadManifest","PRELOAD_COMPLETE","lOneInstance","fadeIn","doPlaySound","sndTmp","play","intID","endSound","doFadeIn","snd","SOUND_FINISHED_PLAYING","fadeOut","loopSound","SOUND_LOOPING","playLoop","updateVolume","paused","stop","killTween","volume","maxVolume","active","counter","Sounder","FADE_IN_TIME","onUpdate","updateVolumeFading","setVolume","vol","lKill","killTweensOf","TOGGLE_FADE_IN_TIME","TOGGLE_FADE_OUT_TIME","lAutoStart","aSound","preloaded","isNull","debugEvent","eventHandler","checkPreloadList","preloadNextSound","dispatchEvent","ALL_SOUNDS_READY","xVal","color","START_PRELOADING_ONE_SOUND","preload","ONE_SOUND_PRELOADED","getSoundById","pause","resume","Object","sound","arguments","lOn","volumeFadeIn","volumeFadeOut","AudioPanel","currentScene","soundEvents","checkStopAudio","pauseStatus","checkShowPanel","DATA","EVEARNOLD","scenes","currentPlaying","playStatus","showPanel","pathMostra","add","soundReady","title_it","title_en","file_it","file_en","baseUrl","firstSpot","skipwi","hot_hotspot","edit","hot_item","url_rewrite","track","firstLoad","menuLingue","mappaHud","iface","viewdebug","patchedFirstShowInfo","lookupOrientamento","fastRadar","ios","showZoom","scena","hotspot","history","replaceState","showWidget","Customs","logoTopLeft","logo","radar","audioPanel","removeClass","message","Walert","debugTrace","SHOW_DEBUG_INFO","layer","sce","action","normalizza","eventCategory","nomeNegozio","eventAction","gtag","lPreserve","lWheel","embedpano","xml","pathResources","target","html5","mobilescale","passQueryParameters","mwheel","capturetouch","onready","onPanoReady","webglsettings","preserveDrawingBuffer","setTurnPhone","mapHudEventsHandler","showIstruzioni","onCheckPortrait","istruzioniDismissed","welcomeDismissed","START_FOV","initLookupOrientamento","initUi","showSceltaLingua","showMappaHud","showRadar","addKeyListener","disableNavigation","showCloseFrameEdit","externalLink","gotoExtLink","adjustInfo","lAdd","onKeyDown","keyCode","addHotspot","ev","beginZoomIn","beginZoomOut","toggleFullscreen","toggleInfo","showInfo","initAudio","showLingue","MenuLingue","onChangedLingua","qs","checkOpenHs","radarEventsHandler","hhs","handleHotspot","category","label","setInfo","station","RenderDescription","tracking","enteredScene","altId","hslocal","executeActionHotspot","widget","tra","Title","hotspotsEventHandler","alert","sfoca","showInterface","zoomIn","clearZoom","zoomOut","FOV","INC_DEC_ZOOM","idzoom","fullscreenElement","exitFullscreen","is","lAnim","panel","pezza","mleft","margin","begx","oz","winfos","ofsx","wdx","paneltitleh","outerHeight","begtx","begty","wt","mart","viewInited","vi","viewdebugcount","contaCheat","mouse_at_x","mouse_at_y","mouse_at_h","mouse_at_v","outerWidth","h","removeGameHotspot","clearInterval","idseti","showInfoForced","setInterval","reset","setUrl","changedScene","showAllHotspots","addDummyHotspot","d","toDataURL","canvas","getElementById","ctx","getContext","Image","onload","oc","createElement","octx","drawImage","showAddHotspotWindow","dummyHlookat","dummyVlookat","spotname","dummyHotspot","trixCustom","oriwidth","oriheight","hotspotAddedOrDismissed","visible","onCloseModeEdit","total","toDel","removeHotspotNavigation","loadedurl","count","linkedscene","trovato","Uid","removeHotspot","IS_US","InitPano","trixScripts","trixScriptIndex","trixMain","userLangParam","startSpot","initedLayout","scenename","userLanguage","getParameterByName","pushState","paths","BASE_URL_STORE","BASE_URL_STORE_DATA","IMAGE_MAP","version","TRIX_ASSETS_VERSION","introTitle_it","introText_it","loadNextScript","$","ajax","dataType","success","scriptLoaded","cache","setPhoneLayout","allScriptsLoaded","SUPPORTED_LANGUAGES","Base64","decode","BASE_URL","doIt","forcePhoneLayout","setContent","onViewChanged","FactoryManager","cls","rest","classes","normalizeUrl","srcByModuleId","create","noDocument","forEach","prototype","noop","updateCss","el","isUrlRequest","isLoaded","visited","newEl","cloneNode","parentNode","removeChild","concat","Date","now","nextSibling","insertBefore","appendChild","reloadAll","elements","querySelectorAll","module","exports","moduleId","options","fn","timeout","getScriptSrc","currentScript","scripts","getElementsByTagName","lastScriptTag","fileMap","splitResult","filename","map","mapRule","reg","getCurrentScriptUrl","reloaded","loaded","stripWWW","some","getReloadUrl","reloadStyle","locals","join","self","args","functionCall","apply","urlString","protocol","components","host","reduce","accumulator","pop","cssReload","hot","dispose","accept","__webpack_module_cache__","__webpack_require__","execOptions","factory","__webpack_modules__","require","handler","m","definition","key","defineProperty","enumerable","hu","chunkId","miniCssF","hmrF","g","globalThis","Function","obj","prop","hasOwnProperty","l","done","script","needAttach","getAttribute","charset","nc","setAttribute","onScriptComplete","prev","event","onerror","doneFns","head","currentChildModule","blockingPromises","currentUpdateApplyHandlers","queuedInvalidatedModules","currentModuleData","installedModules","currentParents","registeredStatusHandlers","currentStatus","setStatus","newStatus","waitForBlockingPromises","blocker","Promise","all","then","hotCheck","applyOnUpdate","Error","hmrM","applyInvalidatedModules","updatedModules","keys","hmrC","promises","internalApply","hotApply","resolve","results","error","errors","filter","Boolean","result","reportError","err","outdatedModules","modules","list","hmrI","hmrD","me","request","parents","children","warn","createPropertyDescriptor","configurable","promise","trackBlockingPromise","createRequire","_acceptedDependencies","_declinedDependencies","_selfAccepted","_selfDeclined","_selfInvalidated","_disposeHandlers","_main","_requireSelf","slice","dep","decline","addDisposeHandler","removeDisposeHandler","idx","splice","invalidate","status","addStatusHandler","removeStatusHandler","scriptUrl","importScripts","fullhref","reject","linkTag","rel","errorType","realHref","existingLinkTags","dataHref","tag","existingStyleTags","oldTag","miniCss","chunkIds","removedChunks","removedModules","applyHandlers","updatedModulesList","as","currentUpdateChunks","currentUpdate","currentUpdateRemovedChunks","currentUpdateRuntime","installedChunks","143","waitingUpdateResolves","loadUpdateChunk","realSrc","getAffectedModuleEffects","updateModuleId","outdatedDependencies","chain","queueItem","parentId","addAllToSet","f","jsonpHmr","appliedUpdate","warnUnexpectedRequire","newModuleFactory","abortError","doApply","doDispose","chainInfo","onDeclined","ignoreDeclined","onUnaccepted","ignoreUnaccepted","onAccepted","onDisposed","moduleOutdatedDependencies","outdatedSelfAcceptedModules","outdatedModuleId","errorHandler","dependency","disposeHandlers","child","callbacks","dependenciesForCallbacks","acceptCallback","onErrored","dependencyId","ignoreErrored","err2","originalError","moreModules","runtime","jsonp","fetch","response","ok","statusText","json"],"mappings":"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KACbH,EAAQG,KAAK,KACbH,EAAQG,KAAK,KACbH,EAAQG,KAAK,KACbF,EAASE,KAAK,SACdF,EAASE,KAAK,GACdF,EAASE,KAAK,GACdF,EAASE,KAAK,GACdF,EAASE,KAAK,GACdF,EAASE,KAAK,GACdF,EAASE,KAAK,GACdF,EAASE,KAAK,GACdF,EAASE,KAAK,GACdF,EAASE,KAAK,GACdF,EAASE,KAAK,GACdF,EAASE,KAAK,GACdF,EAASE,KAAK,GACdF,EAASE,KAAK,GACdF,EAASE,KAAK,GACdF,EAASE,KAAK,GACdF,EAASE,KAAK,GACdF,EAASE,KAAK,GACdF,EAASE,KAAK,GACdF,EAASE,KAAK,GACdF,EAASE,KAAK,GACdF,EAASE,KAAK,IACdF,EAASE,KAAK,IACdF,EAASE,KAAK,IACdF,EAASE,KAAK,IACdF,EAASE,KAAK,IACdF,EAASE,KAAK,IACdF,EAASE,KAAK,IACdF,EAASE,KAAK,IACdF,EAASE,KAAK,IACdF,EAASE,KAAK,IACdF,EAASE,KAAK,IACdF,EAASE,KAAK,IACdF,EAASE,KAAK,IACdF,EAASE,KAAK,IACdF,EAASE,KAAK,IACdF,EAASE,KAAK,IACdF,EAASE,KAAK,GACdD,EAASC,KAAK,SACdD,EAASC,KAAK,GACdD,EAASC,KAAK,GACdD,EAASC,KAAK,GACdD,EAASC,KAAK,GACdD,EAASC,KAAK,GACdD,EAASC,KAAK,IACdD,EAASC,KAAK,IACdD,EAASC,KAAK,IACdD,EAASC,KAAK,IACdD,EAASC,KAAK,IACdD,EAASC,KAAK,GACdD,EAASC,KAAK,GACdD,EAASC,KAAK,GACdD,EAASC,KAAK,GACdD,EAASC,KAAK,GACdD,EAASC,KAAK,IACdD,EAASC,KAAK,IACdD,EAASC,KAAK,IACdD,EAASC,KAAK,IACdD,EAASC,KAAK,IACdD,EAASC,KAAK,GACdD,EAASC,KAAK,GACdD,EAASC,KAAK,IACdD,EAASC,KAAK,IACdD,EAASC,KAAK,IACdD,EAASC,KAAK,GACdD,EAASC,KAAK,GACdD,EAASC,KAAK,GACdD,EAAS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","file":"app.bundle.js","sourcesContent":["var inProgress = {};\nvar dataWebpackPrefix = \"FactoryManager:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => fn(event));\n\t\tif(prev) return prev(event);\n\t}\n\t;\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","var createStylesheet = (chunkId, fullhref, resolve, reject) => {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tvar onLinkComplete = (event) => {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + realHref + \")\");\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tlinkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\tdocument.head.appendChild(linkTag);\n\treturn linkTag;\n};\nvar findStylesheet = (href, fullhref) => {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = (chunkId) => {\n\treturn new Promise((resolve, reject) => {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, resolve, reject);\n\t});\n}\n// no chunk loading\n\nvar oldTags = [];\nvar newTags = [];\nvar applyHandler = (options) => {\n\treturn { dispose: () => {\n\t\tfor(var i = 0; i < oldTags.length; i++) {\n\t\t\tvar oldTag = oldTags[i];\n\t\t\tif(oldTag.parentNode) oldTag.parentNode.removeChild(oldTag);\n\t\t}\n\t\toldTags.length = 0;\n\t}, apply: () => {\n\t\tfor(var i = 0; i < newTags.length; i++) newTags[i].rel = \"stylesheet\";\n\t\tnewTags.length = 0;\n\t} };\n}\n__webpack_require__.hmrC.miniCss = (chunkIds, removedChunks, removedModules, promises, applyHandlers, updatedModulesList) => {\n\tapplyHandlers.push(applyHandler);\n\tchunkIds.forEach((chunkId) => {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tconst oldTag = findStylesheet(href, fullhref);\n\t\tif(!oldTag) return;\n\t\tpromises.push(new Promise((resolve, reject) => {\n\t\t\tvar tag = createStylesheet(chunkId, fullhref, () => {\n\t\t\t\ttag.as = \"style\";\n\t\t\t\ttag.rel = \"preload\";\n\t\t\t\tresolve();\n\t\t\t}, reject);\n\t\t\toldTags.push(oldTag);\n\t\t\tnewTags.push(tag);\n\t\t}));\n\t});\n}","export default class Pqp {\r\n\r\n\tstatic trace(xValue, level) {\r\n\t\tvar colors = [\"#ff0000\", \"#00ff00\", \"#ff00FF\", \"#FF8000\"]\r\n\t\tif (typeof console != \"undefined\") {\r\n\t\t\tif ((Pqp.isNullOrEmpty(level)) || (level > colors.length - 1)) {\r\n\t\t\t\tconsole.log(xValue);\r\n\t\t\t} else {\r\n\t\t\t\tconsole.log(\"%c\" + xValue, \"color:\" + colors[level]);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tstatic isString(a) {\r\n\t\tif ((a instanceof String) || (typeof (a) == \"string\")) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\treturn false;\r\n\t}\r\n\r\n\tstatic isNumber(a) {\r\n\t\tif ((a instanceof Number) || (typeof (a) == \"number\")) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\treturn false;\r\n\t}\r\n\r\n\tstatic isArray(a) {\r\n\t\tif ((a instanceof Array) || (typeof (a) == \"array\")) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\treturn false;\r\n\t}\r\n\r\n\tstatic isNullOrEmpty(xValue) {\r\n\t\tif (typeof (xValue) == \"boolean\") {\r\n\t\t\treturn false;\r\n\t\t} else {\r\n\t\t\tif ((xValue == null) || (xValue == undefined) || (xValue == \"\")) {\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn false;\r\n\t}\r\n\r\n\tstatic isNull(xValue) {\r\n\t\tif (typeof (xValue) == \"boolean\") {\r\n\t\t\treturn false;\r\n\t\t} else {\r\n\t\t\tif ((xValue == null) || (xValue == undefined) || (xValue == \"\")) {\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn false;\r\n\t}\r\n\r\n\tstatic getParameterByName(name) {\r\n\t\tvar match = new RegExp('[?&]' + name + '=([^&]*)').exec(window.location.search);\r\n\t\treturn match && decodeURIComponent(match[1].replace(/\\+/g, ' '));\r\n\t}\r\n\r\n\tstatic shuffle(o) {\r\n\t\tfor (var j, x, i = o.length; i; j = parseInt(Math.random() * i), x = o[--i], o[i] = o[j], o[j] = x);\r\n\t\treturn o;\r\n\t}\r\n\r\n\r\n\tstatic rnd(max, min) {\r\n\t\tif (!min) {\r\n\t\t\tmin = 0;\r\n\t\t}\r\n\t\treturn Math.floor(Math.random() * (max - min + 1)) + min;\r\n\t}\r\n\r\n\r\n\r\n\tstatic check(nProb) {\r\n\t\tif (nProb >= 1) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\tif (nProb <= 0) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\tvar nSpace = 100000;\r\n\t\tvar nProd = (nProb * nSpace);\r\n\t\tvar nRnd = Pqp.range(0, nSpace);\r\n\t\treturn nRnd < nProd;\r\n\t}\r\n\r\n\tstatic range(nMin, nMax) {\r\n\t\treturn (Pqp.rangeInt((nMin * 1000.0), (nMax * 1000.0))) / 1000.0;\r\n\t}\r\n\r\n\tstatic rangeInt(nMin, nMax) {\r\n\t\treturn Math.floor(Math.random() * (nMax - nMin + 1)) + nMin;\r\n\t}\r\n\r\n\tstatic replace(str, fnd, repl) {\r\n\t\treturn Pqp.safeReplace(str, fnd, repl);\r\n\t}\r\n\r\n\tstatic mettiPunti(input, sep, sepdec) {\r\n\t\tif (sep == null) {\r\n\t\t\tsep = \".\";\r\n\t\t}\r\n\t\tif (sepdec == null) {\r\n\t\t\tsepdec = \",\";\r\n\t\t}\r\n\r\n\t\tvar num = input;\r\n\t\tvar minus = false;\r\n\t\tif (num < 0) {\r\n\t\t\tnum *= -1;\r\n\t\t\tminus = true\r\n\t\t}\r\n\t\tvar dotPos = (num + \"\").split(\".\");\r\n\t\tvar dotU = dotPos[0];\r\n\t\tvar dotD = dotPos[1];\r\n\t\tvar commaFlag = dotU.length % 3;\r\n\r\n\t\tvar out;\r\n\t\tif (commaFlag) {\r\n\t\t\tout = dotU.substring(0, commaFlag);\r\n\t\t\tif (dotU.length > 3) {\r\n\t\t\t\tout += sep;\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tout = \"\"\r\n\t\t}\r\n\r\n\t\tfor (var i = commaFlag; i < dotU.length; i += 3) {\r\n\t\t\tout += dotU.substring(i, i + 3);\r\n\t\t\tif (i < dotU.length - 3) {\r\n\t\t\t\tout += sep;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (minus) {\r\n\t\t\tout = \"-\" + out;\r\n\t\t}\r\n\t\tif (dotD) {\r\n\t\t\treturn out + sepdec + dotD\r\n\t\t}\r\n\t\treturn out\r\n\t}\r\n\r\n\r\n\tstatic _carCon(mCf) {\r\n\t\tvar aNumLet = new Array();\r\n\t\tvar aNumeri1 = new Array();\r\n\t\tvar aNumeri2 = new Array();\r\n\t\tvar nSomma;\r\n\t\tvar nConta;\r\n\t\tvar cCifra;\r\n\t\tvar nPuntatore;\r\n\t\tvar nNp;\r\n\t\tvar nNd;\r\n\t\tvar nCf1;\r\n\t\tvar nCf2;\r\n\t\tvar nMlc;\r\n\t\tnSomma = 0;\r\n\t\tnConta = 1;\r\n\t\taNumLet.push(\"DUMMY\");\r\n\t\taNumLet.push(\"0\");\r\n\t\taNumLet.push(\"1\");\r\n\t\taNumLet.push(\"2\");\r\n\t\taNumLet.push(\"3\");\r\n\t\taNumLet.push(\"4\");\r\n\t\taNumLet.push(\"5\");\r\n\t\taNumLet.push(\"6\");\r\n\t\taNumLet.push(\"7\");\r\n\t\taNumLet.push(\"8\");\r\n\t\taNumLet.push(\"9\");\r\n\t\taNumLet.push(\"A\");\r\n\t\taNumLet.push(\"B\");\r\n\t\taNumLet.push(\"C\");\r\n\t\taNumLet.push(\"D\");\r\n\t\taNumLet.push(\"E\");\r\n\t\taNumLet.push(\"F\");\r\n\t\taNumLet.push(\"G\");\r\n\t\taNumLet.push(\"H\");\r\n\t\taNumLet.push(\"I\");\r\n\t\taNumLet.push(\"J\");\r\n\t\taNumLet.push(\"K\");\r\n\t\taNumLet.push(\"L\");\r\n\t\taNumLet.push(\"M\");\r\n\t\taNumLet.push(\"N\");\r\n\t\taNumLet.push(\"O\");\r\n\t\taNumLet.push(\"P\");\r\n\t\taNumLet.push(\"Q\");\r\n\t\taNumLet.push(\"R\");\r\n\t\taNumLet.push(\"S\");\r\n\t\taNumLet.push(\"T\");\r\n\t\taNumLet.push(\"U\");\r\n\t\taNumLet.push(\"V\");\r\n\t\taNumLet.push(\"W\");\r\n\t\taNumLet.push(\"X\");\r\n\t\taNumLet.push(\"Y\");\r\n\t\taNumLet.push(\"Z\");\r\n\t\taNumLet.push(\"/\");\r\n\t\taNumeri1.push(\"DUMMY\");\r\n\t\taNumeri1.push(0);\r\n\t\taNumeri1.push(1);\r\n\t\taNumeri1.push(2);\r\n\t\taNumeri1.push(3);\r\n\t\taNumeri1.push(4);\r\n\t\taNumeri1.push(5);\r\n\t\taNumeri1.push(6);\r\n\t\taNumeri1.push(7);\r\n\t\taNumeri1.push(8);\r\n\t\taNumeri1.push(9);\r\n\t\taNumeri1.push(0);\r\n\t\taNumeri1.push(1);\r\n\t\taNumeri1.push(2);\r\n\t\taNumeri1.push(3);\r\n\t\taNumeri1.push(4);\r\n\t\taNumeri1.push(5);\r\n\t\taNumeri1.push(6);\r\n\t\taNumeri1.push(7);\r\n\t\taNumeri1.push(8);\r\n\t\taNumeri1.push(9);\r\n\t\taNumeri1.push(10);\r\n\t\taNumeri1.push(11);\r\n\t\taNumeri1.push(12);\r\n\t\taNumeri1.push(13);\r\n\t\taNumeri1.push(14);\r\n\t\taNumeri1.push(15);\r\n\t\taNumeri1.push(16);\r\n\t\taNumeri1.push(17);\r\n\t\taNumeri1.push(18);\r\n\t\taNumeri1.push(19);\r\n\t\taNumeri1.push(20);\r\n\t\taNumeri1.push(21);\r\n\t\taNumeri1.push(22);\r\n\t\taNumeri1.push(23);\r\n\t\taNumeri1.push(24);\r\n\t\taNumeri1.push(25);\r\n\t\taNumeri1.push(0);\r\n\t\taNumeri2.push(\"DUMMY\");\r\n\t\taNumeri2.push(1);\r\n\t\taNumeri2.push(0);\r\n\t\taNumeri2.push(5);\r\n\t\taNumeri2.push(7);\r\n\t\taNumeri2.push(9);\r\n\t\taNumeri2.push(13);\r\n\t\taNumeri2.push(15);\r\n\t\taNumeri2.push(17);\r\n\t\taNumeri2.push(19);\r\n\t\taNumeri2.push(21);\r\n\t\taNumeri2.push(1);\r\n\t\taNumeri2.push(0);\r\n\t\taNumeri2.push(5);\r\n\t\taNumeri2.push(7);\r\n\t\taNumeri2.push(9);\r\n\t\taNumeri2.push(13);\r\n\t\taNumeri2.push(15);\r\n\t\taNumeri2.push(17);\r\n\t\taNumeri2.push(19);\r\n\t\taNumeri2.push(21);\r\n\t\taNumeri2.push(2);\r\n\t\taNumeri2.push(4);\r\n\t\taNumeri2.push(18);\r\n\t\taNumeri2.push(20);\r\n\t\taNumeri2.push(11);\r\n\t\taNumeri2.push(3);\r\n\t\taNumeri2.push(6);\r\n\t\taNumeri2.push(8);\r\n\t\taNumeri2.push(12);\r\n\t\taNumeri2.push(14);\r\n\t\taNumeri2.push(16);\r\n\t\taNumeri2.push(10);\r\n\t\taNumeri2.push(22);\r\n\t\taNumeri2.push(25);\r\n\t\taNumeri2.push(24);\r\n\t\taNumeri2.push(23);\r\n\t\taNumeri2.push(0);\r\n\t\twhile (nConta < 16) {\r\n\t\t\tcCifra = mCf.charAt(nConta - 1);\r\n\t\t\tnPuntatore = Pqp._ascan(aNumLet, cCifra);\r\n\t\t\tif (nPuntatore == 0) {\r\n\t\t\t\treturn \"\";\r\n\t\t\t}\r\n\t\t\tnNp = aNumeri1[nPuntatore];\r\n\t\t\tnNd = aNumeri2[nPuntatore];\r\n\t\t\tif (nConta / 2 > Pqp._parteInt(nConta / 2)) {\r\n\t\t\t\tnSomma = nSomma + nNd;\r\n\t\t\t} else {\r\n\t\t\t\tnSomma = nSomma + nNp;\r\n\t\t\t}\r\n\t\t\tnConta = nConta + 1;\r\n\t\t}\r\n\t\tnCf1 = nSomma / 26;\r\n\t\tnCf2 = nSomma - Pqp._parteInt(nCf1) * 26 + 11;\r\n\t\tnMlc = aNumLet[nCf2];\r\n\t\treturn nMlc;\r\n\t}\r\n\r\n\tstatic _parteInt(nNumero) {\r\n\t\tvar aTmp;\r\n\t\taTmp = (\"\" + nNumero).split(\".\");\r\n\t\treturn parseInt(aTmp[0]);\r\n\t}\r\n\tstatic _ascan(aNumLet, cCifra) {\r\n\t\tvar x, lTrovato;\r\n\t\tlTrovato = false;\r\n\t\tfor (x = 0; x < aNumLet.length; x++) {\r\n\t\t\tif (aNumLet[x] == cCifra) {\r\n\t\t\t\tlTrovato = true;\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (lTrovato) {\r\n\t\t\treturn x;\r\n\t\t} else {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t}\r\n\r\n\tstatic ascSeq(sString) {\r\n\t\tvar x, sCode, sTmp;\r\n\t\tsCode = \"\";\r\n\t\tfor (x = 0; x < sString.length; x++) {\r\n\t\t\tsTmp = \"\" + sString.charCodeAt(x);\r\n\t\t\tif (sTmp.length < 3) {\r\n\t\t\t\tif (sTmp.length < 2) {\r\n\t\t\t\t\tsTmp = \"00\" + sTmp;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tsTmp = \"0\" + sTmp;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tsCode = sCode + sTmp;\r\n\t\t}\r\n\t\treturn sCode;\r\n\t}\r\n\r\n\tstatic charSeq(sString) {\r\n\t\tvar sTmp, x, sChar;\r\n\t\tsTmp = \"\";\r\n\t\tfor (x = 0; x < sString.length / 3; x++) {\r\n\t\t\tsChar = parseInt(Pqp._removeZero(sString.substr(x * 3, 3)));\r\n\t\t\tsTmp = sTmp + String.fromCharCode(sChar);\r\n\t\t}\r\n\t\treturn sTmp;\r\n\t}\r\n\r\n\tstatic _removeZero(sString) {\r\n\t\tvar sTmp, x, lTrovato;\r\n\t\tlTrovato = false;\r\n\t\tfor (x = 0; x < sString.length; x++) {\r\n\t\t\tif (sString.charAt(x) != \"0\") {\r\n\t\t\t\tlTrovato = true;\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (lTrovato) {\r\n\t\t\tsTmp = sString.substr(x);\r\n\t\t} else {\r\n\t\t\tsTmp = sString;\r\n\t\t}\r\n\t\treturn parseInt(sTmp);\r\n\t}\r\n\r\n\tstatic padr(sString, sChar, nQuanti) {\r\n\t\tvar n;\r\n\t\tn = sString.length;\r\n\t\tfor (var x = 0; x < (nQuanti - n); x++) {\r\n\t\t\tsString = sChar + sString;\r\n\t\t}\r\n\t\treturn sString;\r\n\t}\r\n\r\n\tstatic padl(sString, sChar, nQuanti) {\r\n\t\tvar n;\r\n\t\tn = sString.length;\r\n\t\tfor (var x = 0; x < (nQuanti - n); x++) {\r\n\t\t\tsString = sString + sChar\r\n\t\t}\r\n\t\treturn sString;\r\n\t}\r\n\r\n\r\n\tstatic getCheck(s) {\r\n\t\tvar s1 = s.toUpperCase();\r\n\t\ts1 = Pqp._soloCharNumber(s1);\r\n\t\tvar nQuanti = s1.length % 15;\r\n\t\tfor (x = 0; x < 15 - nQuanti; x++) {\r\n\t\t\ts1 = s1 + \"F\";\r\n\t\t}\r\n\t\tvar sControllo = \"\";\r\n\t\tfor (var x = 1; x <= (s1.length / 15); x++) {\r\n\t\t\tsControllo = sControllo + Pqp._carCon(s1.substr(x * 15 - 15, 15));\r\n\t\t}\r\n\t\ts1 = sControllo + sControllo.length;\r\n\t\treturn s1;\r\n\t}\r\n\r\n\r\n\tstatic _soloCharNumber(s) {\r\n\t\tvar sRet = \"\";\r\n\t\tfor (var x = 0; x < s.length; x++) {\r\n\t\t\tvar c = s.charAt(x);\r\n\t\t\tif (((c >= \"0\") && (c <= \"9\")) || ((c >= \"A\") && (c <= \"Z\"))) {\r\n\t\t\t\tsRet += c;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn sRet;\r\n\t}\r\n\r\n\tstatic cripta(s) {\r\n\t\treturn Pqp.uEncode8(s, 6006);\r\n\t}\r\n\r\n\tstatic decripta(s) {\r\n\t\treturn Pqp.uDecode8(s, 6006);\r\n\t}\r\n\r\n\tstatic uEncode8(str, k) {\r\n\t\tk = k % 256;\r\n\t\tvar ret = \"\";\r\n\t\tfor (var i = 0; i < str.length; i++) {\r\n\t\t\tvar u = str.charCodeAt(i) ^ k;\r\n\t\t\tvar s = u.toString(16);\r\n\t\t\twhile (s.length < 2) {\r\n\t\t\t\ts = \"0\" + s;\r\n\t\t\t}\r\n\t\t\tret += s;\r\n\t\t}\r\n\t\treturn ret;\r\n\t}\r\n\r\n\tstatic uDecode8(str, k) {\r\n\t\tk = k % 256;\r\n\t\tvar ret = \"\";\r\n\t\tfor (var i = 0; i < str.length; i += 2) {\r\n\t\t\tvar s = \"\";\r\n\t\t\tfor (var j = 0; j < 2; j++) {\r\n\t\t\t\ts += str.charAt(i + j);\r\n\t\t\t}\r\n\t\t\tvar u = parseInt(s, 16) ^ k;\r\n\t\t\tret += String.fromCharCode(u);\r\n\t\t}\r\n\t\treturn ret;\r\n\t}\r\n\r\n\tstatic utf8Encode(s) {\r\n\t\tvar sRet = \"\";\r\n\t\tfor (var x = 0; x < s.length; x++) {\r\n\t\t\tvar c = s.charAt(x);\r\n\t\t\tvar n = c.charCodeAt(0);\r\n\t\t\tif ((n >= 32) && (n <= 127)) {\r\n\t\t\t\tsRet += c;\r\n\t\t\t} else {\r\n\t\t\t\tsRet += \"\" + n + \";\";\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn sRet;\r\n\t}\r\n\r\n\tstatic dataora(dt) {\r\n\t\tvar sRet = \"\" + dt.getFullYear();\r\n\t\tvar sTmp = (\"0\" + (dt.getMonth() + 1));\r\n\t\tsTmp = sTmp.substr(sTmp.length - 2, 2);\r\n\t\tsRet += sTmp;\r\n\t\tsTmp = (\"0\" + dt.getDate());\r\n\t\tsTmp = sTmp.substr(sTmp.length - 2, 2);\r\n\t\tsRet += sTmp;\r\n\t\tsTmp = (\"0\" + dt.getHours());\r\n\t\tsTmp = sTmp.substr(sTmp.length - 2, 2);\r\n\t\tsRet += sTmp;\r\n\t\tsTmp = (\"0\" + dt.getMinutes());\r\n\t\tsTmp = sTmp.substr(sTmp.length - 2, 2);\r\n\t\tsRet += sTmp;\r\n\t\tsTmp = (\"0\" + dt.getSeconds());\r\n\t\tsTmp = sTmp.substr(sTmp.length - 2, 2);\r\n\t\tsRet += sTmp;\r\n\t\treturn sRet;\r\n\t}\r\n\r\n\tstatic validateEmail(email) {\r\n\t\tvar re = /^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n\t\treturn re.test(email);\r\n\t}\r\n\r\n\r\n\tstatic safeReplace(input, rep, replaceWith) {\r\n\t\tvar sb = new String();\r\n\t\tvar found = false;\r\n\r\n\t\tvar sLen = input.length;\r\n\t\tvar rLen = rep.length;\r\n\r\n\t\tfor (var i = 0; i < sLen; i++) {\r\n\t\t\tif (input.charAt(i) == rep.charAt(0)) {\r\n\t\t\t\tfound = true;\r\n\t\t\t\tfor (var j = 0; j < rLen; j++) {\r\n\t\t\t\t\tif (!(input.charAt(i + j) == rep.charAt(j))) {\r\n\t\t\t\t\t\tfound = false;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tif (found) {\r\n\t\t\t\t\tsb += replaceWith;\r\n\t\t\t\t\ti = i + (rLen - 1);\r\n\t\t\t\t\tcontinue;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tsb += input.charAt(i);\r\n\t\t}\r\n\t\treturn sb;\r\n\t}\r\n\r\n\r\n\tstatic minion(lMoltiBr, chars, lBarraEnne, lHodor) {\r\n\t\treturn Pqp.lorem(lMoltiBr, chars, lBarraEnne, lHodor);\r\n\t}\r\n\r\n\tstatic lorem(lMoltiBr, chars, lBarraEnne, lHodor) {\r\n\t\tvar consonanti = \"rtplgfdszcvbnm\";\r\n\t\tvar doppie = \"rtplgfdsvnmc\"\r\n\t\tvar mediane = [\"nt\", \"nd\", \"mb\", \"rl\", \"rt\", \"ch\"];\r\n\t\tvar iniziali = [\"pr\", \"cr\", \"st\", \"br\", \"tr\", \"sc\", \"cl\", \"gr\", \"gn\", \"sf\", \"sb\", \"sp\", \"sm\"];\r\n\t\tvar vocali = \"aeiouaeioaeaeoaeo\";\r\n\t\tvar nomi = [\"Frodo\", \"Gandalf\", \"Samwise\", \"Meriadoc\", \"Peregrino\", \"Aragorn\", \"Legolas\", \"Gimli\", \"Boromir\", \"Sauron\", \"Gollum\", \"Bilbo\", \"Elrond\", \"Arwen\", \"Galadriel\", \"Saruman\", \"Eomer\", \"Theoden\", \"Eowyn\", \"Faramir\", \"Denethor\", \"Ned\", \"Sansa\", \"Arya\", \"Bran\", \"Jon\", \"Catelyn\", \"Daenerys\", \"Jaime\", \"Cersei\", \"Tyrion\", \"Walder\", \"Tywin\", \"Geoffrey\"];\r\n\t\tvar cognomi = [\"Baggins\", \"Gamgee\", \"Brandybuck\", \"Tuc\", \"Stark\", \"Lannister\", \"Tyrell\", \"Frey\", \"Bolton\", \"Baratheon\", \"Targaryen\", \"Snow\"];\r\n\t\tvar punteggiatura = \";,,,,,,,,:\";\r\n\t\tvar chiusura = \"!.........?\";\r\n\t\tvar domini = [\".com\", \".it\", \".co.uk\", \".fr\", \".de\", \".ru\"];\r\n\t\tvar lName\r\n\t\tvar lUid\r\n\t\tvar lNoPunteggiatura;\r\n\t\tvar lTitle;\r\n\t\tvar lEmail;\r\n\r\n\t\tif (typeof (lMoltiBr) == \"object\") {\r\n\t\t\tvar oTmp = lMoltiBr;\r\n\t\t\tlMoltiBr = oTmp.lMoltiBr;\r\n\t\t\tchars = oTmp.chars;\r\n\t\t\tlBarraEnne = oTmp.lBarraEnne;\r\n\t\t\tlHodor = oTmp.lHodor;\r\n\t\t\tlName = oTmp.lName;\r\n\t\t\tlUid = oTmp.lUid;\r\n\t\t\tlNoPunteggiatura = oTmp.lNoPunteggiatura;\r\n\t\t\tlTitle = oTmp.lTitle;\r\n\t\t\tlEmail = oTmp.lEmail;\r\n\t\t}\r\n\r\n\t\tif (lEmail) {\r\n\t\t\tlNoPunteggiatura = true;\r\n\r\n\t\t\tchars = Pqp.rnd(30, 20);\r\n\t\t\tlMoltiBr = 0;\r\n\t\t}\r\n\r\n\t\tif (lName) {\r\n\t\t\treturn nomi[Pqp.rnd(nomi.length - 1)] + \" \" + cognomi[Pqp.rnd(cognomi.length - 1)]\r\n\t\t}\r\n\t\tif (lUid) {\r\n\t\t\tlMoltiBr = 0;\r\n\t\t}\r\n\t\tif (lTitle) {\r\n\t\t\tlNoPunteggiatura = true;\r\n\t\t\tchars = Pqp.rnd(30, 20);\r\n\t\t\tlMoltiBr = 0;\r\n\t\t}\r\n\r\n\t\tvar a = new Array();\r\n\t\tfor (var x = 0; x < consonanti.length; x++) {\r\n\t\t\ta.push(consonanti.charAt(x));\r\n\t\t\ta.push(consonanti.charAt(x));\r\n\t\t}\r\n\t\tconsonanti = a;\r\n\r\n\t\tfor (var x = 0; x < doppie.length; x++) {\r\n\t\t\tconsonanti.push(doppie.charAt(x) + doppie.charAt(x));\r\n\t\t}\r\n\r\n\t\tfor (var x = 0; x < iniziali.length; x++) {\r\n\t\t\tconsonanti.push(iniziali[x]);\r\n\t\t}\r\n\r\n\t\tfor (var x = 0; x < mediane.length; x++) {\r\n\t\t\tconsonanti.push(mediane[x]);\r\n\t\t}\r\n\r\n\t\tfor (var x = 0; x < consonanti.length; x++) {\r\n\t\t\tif (consonanti[x].length == 1) {\r\n\t\t\t\tiniziali.push(consonanti[x]);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfor (var x = 0; x < vocali.length; x++) {\r\n\t\t\tiniziali.push(vocali.charAt(x));\r\n\t\t\tiniziali.push(vocali.charAt(x));\r\n\t\t}\r\n\r\n\t\tvar a = new Array();\r\n\t\tfor (var x = 0; x < vocali.length; x++) {\r\n\t\t\ta.push(vocali.charAt(x));\r\n\t\t}\r\n\t\tvocali = a;\r\n\r\n\t\tvar a = new Array();\r\n\t\tfor (var x = 0; x < punteggiatura.length; x++) {\r\n\t\t\ta.push(punteggiatura.charAt(x));\r\n\t\t}\r\n\t\tpunteggiatura = a;\r\n\r\n\t\tvar a = new Array();\r\n\t\tfor (var x = 0; x < chiusura.length; x++) {\r\n\t\t\ta.push(chiusura.charAt(x));\r\n\t\t}\r\n\t\tchiusura = a;\r\n\r\n\r\n\t\tconsonanti = Pqp.shuffle(consonanti)\r\n\t\tiniziali = Pqp.shuffle(iniziali)\r\n\t\tvocali = Pqp.shuffle(vocali)\r\n\t\tpunteggiatura = Pqp.shuffle(punteggiatura)\r\n\t\tchiusura = Pqp.shuffle(chiusura)\r\n\r\n\r\n\t\tif (Pqp.isNullOrEmpty(chars)) {\r\n\t\t\tchars = 4000;\r\n\t\t} else {\r\n\t\t\tif (!Pqp.isNumber(chars)) {\r\n\t\t\t\tchars = 4000;\r\n\t\t\t\ttrace(\"Occhio alla sintassi, Pqp.minion(lMoltiBr, chars, lBarraEnne, lHodor)\");\r\n\t\t\t}\r\n\t\t}\r\n\r\n\r\n\t\tvar lNoBr = false;\r\n\r\n\t\tif (Pqp.isNullOrEmpty(lMoltiBr)) {\r\n\t\t\tlMoltiBr = false;\r\n\t\t} else {\r\n\t\t\tif (lMoltiBr === 0) {\r\n\t\t\t\tlMoltiBr = false;\r\n\t\t\t\tlNoBr = true;\r\n\t\t\t} else {\r\n\t\t\t\tif (typeof (lMoltiBr) === \"boolean\") {\r\n\t\t\t\t\tif (lMoltiBr == true) {\r\n\t\t\t\t\t\tlMoltiBr = true;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tlMoltiBr = false;\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\ttrace(\"Occhio alla sintassi, Pqp.minion(lMoltiBr, chars, lBarraEnne, lHodor)\");\r\n\t\t\t\t\tlMoltiBr = false;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (Pqp.isNullOrEmpty(lBarraEnne)) {\r\n\t\t\tlBarraEnne = false;\r\n\t\t} else {\r\n\t\t\tif (lBarraEnne == true) {\r\n\t\t\t\tlBarraEnne = true;\r\n\t\t\t} else {\r\n\t\t\t\tlBarraEnne = false;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\r\n\t\tif (Pqp.isNullOrEmpty(lHodor)) {\r\n\t\t\tlHodor = false;\r\n\t\t}\r\n\r\n\t\t//trace(chars + \" \" + lMoltiBr + \" \" + lBarraEnne + \" \" +lNoBr);\r\n\r\n\t\tvar frase = new Array();\r\n\t\tvar len = 0;\r\n\r\n\t\tvar stepNome = 0;\r\n\t\tvar lastUno = false;\r\n\t\tvar contaDoppie = 0;\r\n\t\tvar lPrimo = true;\r\n\t\tif ((lUid) || (lEmail)) {\r\n\t\t\tlPrimo = false;\r\n\t\t\tchars = 100;\r\n\t\t\tstepNome = 5;\r\n\t\t}\r\n\r\n\t\twhile (len < chars) {\r\n\t\t\tvar word = \"\";\r\n\t\t\tvar lOk = false;\r\n\t\t\tvar lName = false;\r\n\t\t\t// Genera una parola\r\n\t\t\tif (Pqp.check(0.25) || lPrimo) {\r\n\t\t\t\tif (stepNome == 0) {\r\n\t\t\t\t\t// Prende un nome\r\n\t\t\t\t\tlPrimo = false;\r\n\t\t\t\t\tif (Pqp.rnd(1) == 0) {\r\n\t\t\t\t\t\tword = nomi[Pqp.rnd(nomi.length - 1)];\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tword = cognomi[Pqp.rnd(cognomi.length - 1)];\r\n\t\t\t\t\t}\r\n\t\t\t\t\tstepNome++;\r\n\t\t\t\t\tlName = true;\r\n\t\t\t\t\tlOk = true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (!lOk) {\r\n\t\t\t\t// Genera una parola\r\n\t\t\t\tvar ln;\r\n\t\t\t\tif (Pqp.check(0.7)) {\r\n\t\t\t\t\tln = Pqp.rnd(3, 1);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tln = Pqp.rnd(7, 6);\r\n\t\t\t\t}\r\n\t\t\t\tif ((lastUno) && (ln == 1)) {\r\n\t\t\t\t\t// Controlla di non avere 2 parole da 1 carattere di seguito\r\n\t\t\t\t\tln = Pqp.rnd(4, 3);\r\n\t\t\t\t}\r\n\t\t\t\tif (ln == 1) {\r\n\t\t\t\t\tlastUno = true;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tlastUno = false;\r\n\t\t\t\t}\r\n\t\t\t\tif (stepNome > 0) {\r\n\t\t\t\t\tstepNome++;\r\n\t\t\t\t}\r\n\r\n\r\n\t\t\t\tvar doppie = 0;\r\n\t\t\t\tvar char2 = 0;\r\n\t\t\t\tvar lastVocale\r\n\t\t\t\tfor (var x = 0; x < ln; x++) {\r\n\t\t\t\t\t// Iniziale\r\n\t\t\t\t\tif (x == 0) {\r\n\t\t\t\t\t\tif (lastUno) {\r\n\t\t\t\t\t\t\tword += vocali[Pqp.rnd(vocali.length - 1)];\r\n\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tword += iniziali[Pqp.rnd(iniziali.length - 1)];\r\n\t\t\t\t\t\t\tif ((word.indexOf(\"a\") >= 0) || (word.indexOf(\"e\") >= 0) || (word.indexOf(\"i\") >= 0) || (word.indexOf(\"o\") >= 0) || (word.indexOf(\"u\") >= 0)) {\r\n\t\t\t\t\t\t\t\tlastVocale = true;\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tlastVocale = false;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tif (lastVocale) {\r\n\t\t\t\t\t\t\tvar lCondExit = false;\r\n\t\t\t\t\t\t\twhile (!lCondExit) {\r\n\t\t\t\t\t\t\t\tvar cc = consonanti[Pqp.rnd(consonanti.length - 1)];\r\n\t\t\t\t\t\t\t\tif ((cc.length > 1) && (cc.charAt(0) == cc.charAt(1))) {\r\n\t\t\t\t\t\t\t\t\tif (contaDoppie == 0) {\r\n\t\t\t\t\t\t\t\t\t\t//trace(\"SS\");\r\n\t\t\t\t\t\t\t\t\t\t//trace(cc);\r\n\t\t\t\t\t\t\t\t\t\tlCondExit = true;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\tlCondExit = true;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\tword += cc;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tword += vocali[Pqp.rnd(vocali.length - 1)];\r\n\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tlastVocale = !lastVocale;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (stepNome > 5) {\r\n\t\t\t\tif ((!lUid) && (!lEmail)) {\r\n\t\t\t\t\tstepNome = 0;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tcontaDoppie--;\r\n\t\t\tif (contaDoppie < 0) {\r\n\t\t\t\tcontaDoppie = 7;\r\n\t\t\t}\r\n\r\n\t\t\t// Controlla che la parola finisca con una vocale\r\n\t\t\tif (!lName) {\r\n\t\t\t\tif (Pqp.check(0.95)) {\r\n\t\t\t\t\tvar c = word.charAt(word.length - 1);\r\n\t\t\t\t\tif ((c.indexOf(\"a\") >= 0) || (c.indexOf(\"e\") >= 0) || (c.indexOf(\"i\") >= 0) || (c.indexOf(\"o\") >= 0) || (c.indexOf(\"u\") >= 0)) {\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tword += vocali[Pqp.rnd(vocali.length - 1)];\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (lHodor) {\r\n\t\t\t\tword = \"hodor\"\r\n\t\t\t}\r\n\r\n\t\t\tlen += word.length;\r\n\r\n\t\t\tfrase.push(word);\r\n\t\t}\r\n\r\n\t\t// Genera la punteggiatura\r\n\r\n\t\tvar nextPun = Pqp.rnd(10, 2);\r\n\t\tvar lastPunto = Pqp.rnd(30, 15);\r\n\r\n\t\tfor (var x = 0; x < frase.length; x++) {\r\n\t\t\tif (x == 0) {\r\n\t\t\t\tfrase[x] = frase[x].charAt(0).toUpperCase() + frase[x].substr(1);\r\n\t\t\t}\r\n\r\n\t\t\tif (x >= nextPun) {\r\n\t\t\t\tif (lastPunto <= 0) {\r\n\t\t\t\t\tif (frase[x].length == 1) {\r\n\t\t\t\t\t\tfrase[x] = frase[x] + \" \"\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tfrase[x] = frase[x] + chiusura[Pqp.rnd(chiusura.length - 1)]\r\n\t\t\t\t\t\tvar lBr = false;\r\n\t\t\t\t\t\tif (lMoltiBr) {\r\n\t\t\t\t\t\t\tif (Pqp.check(0.7)) {\r\n\t\t\t\t\t\t\t\tlBr = true;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tif (Pqp.check(0.4)) {\r\n\t\t\t\t\t\t\t\tlBr = true;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (lNoBr) {\r\n\t\t\t\t\t\t\tlBr = false;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif (lBr) {\r\n\t\t\t\t\t\t\tif (lBarraEnne) {\r\n\t\t\t\t\t\t\t\tfrase[x] = frase[x] + \"\\n\";\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tfrase[x] = frase[x] + \"
\";\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tfrase[x] = frase[x] + \" \";\r\n\t\t\t\t\t\t}\r\n\r\n\r\n\t\t\t\t\t\tlastPunto = Pqp.rnd(30, 15);\r\n\t\t\t\t\t\tnextPun += Pqp.rnd(10, 2);\r\n\t\t\t\t\t\tif (!Pqp.isNullOrEmpty(frase[x + 1])) {\r\n\t\t\t\t\t\t\tfrase[x + 1] = frase[x + 1].charAt(0).toUpperCase() + frase[x + 1].substr(1);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tif (frase[x].length == 1) {\r\n\t\t\t\t\t\tfrase[x] = frase[x] + \" \"\r\n\t\t\t\t\t} else {\r\n\r\n\t\t\t\t\t\tfrase[x] = frase[x] + punteggiatura[Pqp.rnd(punteggiatura.length - 1)] + \" \"\r\n\t\t\t\t\t\tnextPun += Pqp.rnd(10, 2);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t} else {\r\n\t\t\t\tvar lVirg = false;\r\n\t\t\t\tif (frase[x].length > 2) {\r\n\t\t\t\t\tif (frase[x].charAt(0) != frase[x].charAt(0).toUpperCase()) {\r\n\t\t\t\t\t\tif (Pqp.check(0.01)) {\r\n\t\t\t\t\t\t\tlVirg = true;\r\n\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tif (lVirg) {\r\n\t\t\t\t\tfrase[x] = \"\\\"\" + frase[x] + \"\\\"\" + \" \";\r\n\t\t\t\t} else {\r\n\t\t\t\t\tfrase[x] = frase[x] + \" \"\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tlastPunto--;\r\n\t\t\tif (lastPunto < 0) {\r\n\t\t\t\tlastPunto = 0;\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\r\n\t\tvar finale = \"\";\r\n\t\tvar tot = 0;\r\n\t\tfor (var x = 0; x < frase.length - 1; x++) {\r\n\t\t\tfinale += frase[x];\r\n\t\t\ttot += frase[x].length;\r\n\t\t\tif (frase[x].indexOf(\"
\") >= 0) {\r\n\t\t\t\ttot -= 4;\r\n\t\t\t}\r\n\t\t\tif (frase[x].indexOf(\"\\\\n\") >= 0) {\r\n\t\t\t\ttot -= 2;\r\n\t\t\t}\r\n\r\n\t\t\tif (tot.length >= chars) {\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t\tfinale = jQuery.trim(finale);\r\n\t\tvar c = finale.charAt(finale.length - 1);\r\n\t\tif (\";,:.?!\".indexOf(c) >= 0) {\r\n\t\t\tfinale = finale.substr(0, finale.length - 2);\r\n\t\t}\r\n\t\tfinale = finale + chiusura[Pqp.rnd(chiusura.length - 1)];\r\n\r\n\r\n\t\tvar c = finale.charAt(finale.length - 3);\r\n\t\tif (c == \" \") {\r\n\t\t\t//trace(\"-->\"+finale);\r\n\t\t\tfinale = jQuery.trim(finale.substr(0, finale.length - 3));\r\n\t\t\tvar c = finale.charAt(finale.length - 1);\r\n\t\t\tif (\";,:.?!\".indexOf(c) >= 0) {\r\n\t\t\t\tfinale = finale.substr(0, finale.length - 2);\r\n\t\t\t}\r\n\t\t\tfinale = finale + chiusura[Pqp.rnd(chiusura.length - 1)];\r\n\t\t}\r\n\r\n\r\n\t\tif ((lUid) || (lNoPunteggiatura)) {\r\n\r\n\t\t\tfor (var x = 0; x < punteggiatura.length; x++) {\r\n\t\t\t\tfinale = Pqp.safeReplace(finale, punteggiatura[x], \"\");\r\n\t\t\t}\r\n\t\t\tfor (var x = 0; x < chiusura.length; x++) {\r\n\t\t\t\tfinale = Pqp.safeReplace(finale, chiusura[x], \"\");\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (lUid) {\r\n\t\t\tfinale = Pqp.safeReplace(finale, \" \", \"\");\r\n\t\t\tfinale = Pqp.safeReplace(finale, \" \", \"\");\r\n\t\t\tif (finale.length > 17) {\r\n\t\t\t\tfinale = finale.substr(0, 17);\r\n\t\t\t}\r\n\t\t\tfinale = \"uid\" + finale.toLowerCase();\r\n\t\t}\r\n\r\n\r\n\t\tif (lEmail) {\r\n\t\t\tfinale = (nomi[Pqp.rnd(nomi.length - 1)] + \".\" + cognomi[Pqp.rnd(cognomi.length - 1)] + \"@\" + finale.substr(0, Pqp.rnd(10, 5)) + domini[Pqp.rnd(domini.length - 1)]).toLowerCase();\r\n\t\t\tfinale = Pqp.safeReplace(finale, \" \", \"\");\r\n\t\t}\r\n\r\n\r\n\t\treturn finale;\r\n\t}\r\n\r\n\r\n\tstatic formattaNumeroConMigliaia(n) {\r\n\t\tvar ret = \"\";\r\n\t\tvar tmp = n + \"\";\r\n\t\t//\r\n\t\tvar cnt = 0;\r\n\t\tfor (var i = tmp.length - 1; i >= 0; i--) {\r\n\t\t\tif (cnt == 3) {\r\n\t\t\t\tret = \".\" + ret;\r\n\t\t\t\tcnt = 0;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tcnt++;\r\n\t\t\t}\r\n\t\t\tret = tmp.charAt(i) + ret;\r\n\t\t}\r\n\t\treturn ret;\r\n\t}\r\n\r\n\r\n\tstatic newGuid() {\r\n\t\tvar uid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\r\n\t\t\tvar r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);\r\n\t\t\treturn v.toString(16);\r\n\t\t});\r\n\t\treturn Pqp.replace(uid, \"-\", \"\");\r\n\t}\r\n\r\n\r\n\r\n\r\n\tstatic removeDiacritics(str) {\r\n\t\tif (!Pqp.diacriticsMap) {\r\n\t\t\tPqp.diacriticsMap = {};\r\n\t\t}\r\n\t\tfor (var i = 0; i < Pqp.defaultDiacriticsRemovalap.length; i++) {\r\n\t\t\tvar letters = Pqp.defaultDiacriticsRemovalap[i].letters.split(\"\");\r\n\t\t\tfor (var j = 0; j < letters.length; j++) {\r\n\t\t\t\tPqp.diacriticsMap[letters[j]] = Pqp.defaultDiacriticsRemovalap[i].base;\r\n\t\t\t}\r\n\t\t};\r\n\t\tvar letters = str.split(\"\");\r\n\t\tvar newStr = \"\";\r\n\t\tfor (var i = 0; i < letters.length; i++) {\r\n\t\t\tnewStr += letters[i] in Pqp.diacriticsMap ? Pqp.diacriticsMap[letters[i]] : letters[i];\r\n\t\t}\r\n\t\treturn newStr;\r\n\t}\r\n\r\n\tstatic isMobile() {\r\n\t\tlet mobile = false;\r\n\t\tif (/Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent)) {\r\n\t\t\tmobile = true;\r\n\t\t}\r\n\t\tlet isIOS = /iPad|iPhone|iPod/i.test(navigator.userAgent) || (navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1)\r\n\t\tif (isIOS) {\r\n\t\t\tmobile = true;\r\n\t\t}\r\n\t\treturn mobile;\r\n\t}\r\n\r\n\tstatic isIpaddone() {\r\n\t\tlet mobile = Pqp.isMobile();\r\n\t\t// Controllo ipadpro\r\n\t\tlet lIpaddone = false;\r\n\t\tif (mobile) {\r\n\t\t\tif ((window.innerHeight > 900) && (window.innerWidth > 900)) {\r\n\t\t\t\tlIpaddone = true;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn lIpaddone;\r\n\t}\r\n\r\n\tstatic isIos() {\r\n\t\tlet isIOS = /iPad|iPhone|iPod/i.test(navigator.userAgent) || (navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1)\r\n\r\n\t\t/*isIOS = false;\r\n\t\tif (/iPhone|iPad|iPod/i.test(navigator.userAgent)) {\r\n\t\t\tisIOS = true;\r\n\t\t}*/\r\n\r\n\t\treturn isIOS;\r\n\t}\r\n}\r\n\r\n\r\nPqp.diacriticsMap = null;\r\nPqp.defaultDiacriticsRemovalap = [\r\n\t{ 'base': 'A', 'letters': '\\u0041\\u24B6\\uFF21\\u00C0\\u00C1\\u00C2\\u1EA6\\u1EA4\\u1EAA\\u1EA8\\u00C3\\u0100\\u0102\\u1EB0\\u1EAE\\u1EB4\\u1EB2\\u0226\\u01E0\\u00C4\\u01DE\\u1EA2\\u00C5\\u01FA\\u01CD\\u0200\\u0202\\u1EA0\\u1EAC\\u1EB6\\u1E00\\u0104\\u023A\\u2C6F' },\r\n\t{ 'base': 'AA', 'letters': '\\uA732' },\r\n\t{ 'base': 'AE', 'letters': '\\u00C6\\u01FC\\u01E2' },\r\n\t{ 'base': 'AO', 'letters': '\\uA734' },\r\n\t{ 'base': 'AU', 'letters': '\\uA736' },\r\n\t{ 'base': 'AV', 'letters': '\\uA738\\uA73A' },\r\n\t{ 'base': 'AY', 'letters': '\\uA73C' },\r\n\t{ 'base': 'B', 'letters': '\\u0042\\u24B7\\uFF22\\u1E02\\u1E04\\u1E06\\u0243\\u0182\\u0181' },\r\n\t{ 'base': 'C', 'letters': '\\u0043\\u24B8\\uFF23\\u0106\\u0108\\u010A\\u010C\\u00C7\\u1E08\\u0187\\u023B\\uA73E' },\r\n\t{ 'base': 'D', 'letters': '\\u0044\\u24B9\\uFF24\\u1E0A\\u010E\\u1E0C\\u1E10\\u1E12\\u1E0E\\u0110\\u018B\\u018A\\u0189\\uA779' },\r\n\t{ 'base': 'DZ', 'letters': '\\u01F1\\u01C4' },\r\n\t{ 'base': 'Dz', 'letters': '\\u01F2\\u01C5' },\r\n\t{ 'base': 'E', 'letters': '\\u0045\\u24BA\\uFF25\\u00C8\\u00C9\\u00CA\\u1EC0\\u1EBE\\u1EC4\\u1EC2\\u1EBC\\u0112\\u1E14\\u1E16\\u0114\\u0116\\u00CB\\u1EBA\\u011A\\u0204\\u0206\\u1EB8\\u1EC6\\u0228\\u1E1C\\u0118\\u1E18\\u1E1A\\u0190\\u018E' },\r\n\t{ 'base': 'F', 'letters': '\\u0046\\u24BB\\uFF26\\u1E1E\\u0191\\uA77B' },\r\n\t{ 'base': 'G', 'letters': '\\u0047\\u24BC\\uFF27\\u01F4\\u011C\\u1E20\\u011E\\u0120\\u01E6\\u0122\\u01E4\\u0193\\uA7A0\\uA77D\\uA77E' },\r\n\t{ 'base': 'H', 'letters': '\\u0048\\u24BD\\uFF28\\u0124\\u1E22\\u1E26\\u021E\\u1E24\\u1E28\\u1E2A\\u0126\\u2C67\\u2C75\\uA78D' },\r\n\t{ 'base': 'I', 'letters': '\\u0049\\u24BE\\uFF29\\u00CC\\u00CD\\u00CE\\u0128\\u012A\\u012C\\u0130\\u00CF\\u1E2E\\u1EC8\\u01CF\\u0208\\u020A\\u1ECA\\u012E\\u1E2C\\u0197' },\r\n\t{ 'base': 'J', 'letters': '\\u004A\\u24BF\\uFF2A\\u0134\\u0248' },\r\n\t{ 'base': 'K', 'letters': '\\u004B\\u24C0\\uFF2B\\u1E30\\u01E8\\u1E32\\u0136\\u1E34\\u0198\\u2C69\\uA740\\uA742\\uA744\\uA7A2' },\r\n\t{ 'base': 'L', 'letters': '\\u004C\\u24C1\\uFF2C\\u013F\\u0139\\u013D\\u1E36\\u1E38\\u013B\\u1E3C\\u1E3A\\u0141\\u023D\\u2C62\\u2C60\\uA748\\uA746\\uA780' },\r\n\t{ 'base': 'LJ', 'letters': '\\u01C7' },\r\n\t{ 'base': 'Lj', 'letters': '\\u01C8' },\r\n\t{ 'base': 'M', 'letters': '\\u004D\\u24C2\\uFF2D\\u1E3E\\u1E40\\u1E42\\u2C6E\\u019C' },\r\n\t{ 'base': 'N', 'letters': '\\u004E\\u24C3\\uFF2E\\u01F8\\u0143\\u00D1\\u1E44\\u0147\\u1E46\\u0145\\u1E4A\\u1E48\\u0220\\u019D\\uA790\\uA7A4' },\r\n\t{ 'base': 'NJ', 'letters': '\\u01CA' },\r\n\t{ 'base': 'Nj', 'letters': '\\u01CB' },\r\n\t{ 'base': 'O', 'letters': '\\u004F\\u24C4\\uFF2F\\u00D2\\u00D3\\u00D4\\u1ED2\\u1ED0\\u1ED6\\u1ED4\\u00D5\\u1E4C\\u022C\\u1E4E\\u014C\\u1E50\\u1E52\\u014E\\u022E\\u0230\\u00D6\\u022A\\u1ECE\\u0150\\u01D1\\u020C\\u020E\\u01A0\\u1EDC\\u1EDA\\u1EE0\\u1EDE\\u1EE2\\u1ECC\\u1ED8\\u01EA\\u01EC\\u00D8\\u01FE\\u0186\\u019F\\uA74A\\uA74C' },\r\n\t{ 'base': 'OI', 'letters': '\\u01A2' },\r\n\t{ 'base': 'OO', 'letters': '\\uA74E' },\r\n\t{ 'base': 'OU', 'letters': '\\u0222' },\r\n\t{ 'base': 'P', 'letters': '\\u0050\\u24C5\\uFF30\\u1E54\\u1E56\\u01A4\\u2C63\\uA750\\uA752\\uA754' },\r\n\t{ 'base': 'Q', 'letters': '\\u0051\\u24C6\\uFF31\\uA756\\uA758\\u024A' },\r\n\t{ 'base': 'R', 'letters': '\\u0052\\u24C7\\uFF32\\u0154\\u1E58\\u0158\\u0210\\u0212\\u1E5A\\u1E5C\\u0156\\u1E5E\\u024C\\u2C64\\uA75A\\uA7A6\\uA782' },\r\n\t{ 'base': 'S', 'letters': '\\u0053\\u24C8\\uFF33\\u1E9E\\u015A\\u1E64\\u015C\\u1E60\\u0160\\u1E66\\u1E62\\u1E68\\u0218\\u015E\\u2C7E\\uA7A8\\uA784' },\r\n\t{ 'base': 'T', 'letters': '\\u0054\\u24C9\\uFF34\\u1E6A\\u0164\\u1E6C\\u021A\\u0162\\u1E70\\u1E6E\\u0166\\u01AC\\u01AE\\u023E\\uA786' },\r\n\t{ 'base': 'TZ', 'letters': '\\uA728' },\r\n\t{ 'base': 'U', 'letters': '\\u0055\\u24CA\\uFF35\\u00D9\\u00DA\\u00DB\\u0168\\u1E78\\u016A\\u1E7A\\u016C\\u00DC\\u01DB\\u01D7\\u01D5\\u01D9\\u1EE6\\u016E\\u0170\\u01D3\\u0214\\u0216\\u01AF\\u1EEA\\u1EE8\\u1EEE\\u1EEC\\u1EF0\\u1EE4\\u1E72\\u0172\\u1E76\\u1E74\\u0244' },\r\n\t{ 'base': 'V', 'letters': '\\u0056\\u24CB\\uFF36\\u1E7C\\u1E7E\\u01B2\\uA75E\\u0245' },\r\n\t{ 'base': 'VY', 'letters': '\\uA760' },\r\n\t{ 'base': 'W', 'letters': '\\u0057\\u24CC\\uFF37\\u1E80\\u1E82\\u0174\\u1E86\\u1E84\\u1E88\\u2C72' },\r\n\t{ 'base': 'X', 'letters': '\\u0058\\u24CD\\uFF38\\u1E8A\\u1E8C' },\r\n\t{ 'base': 'Y', 'letters': '\\u0059\\u24CE\\uFF39\\u1EF2\\u00DD\\u0176\\u1EF8\\u0232\\u1E8E\\u0178\\u1EF6\\u1EF4\\u01B3\\u024E\\u1EFE' },\r\n\t{ 'base': 'Z', 'letters': '\\u005A\\u24CF\\uFF3A\\u0179\\u1E90\\u017B\\u017D\\u1E92\\u1E94\\u01B5\\u0224\\u2C7F\\u2C6B\\uA762' },\r\n\t{ 'base': 'a', 'letters': '\\u0061\\u24D0\\uFF41\\u1E9A\\u00E0\\u00E1\\u00E2\\u1EA7\\u1EA5\\u1EAB\\u1EA9\\u00E3\\u0101\\u0103\\u1EB1\\u1EAF\\u1EB5\\u1EB3\\u0227\\u01E1\\u00E4\\u01DF\\u1EA3\\u00E5\\u01FB\\u01CE\\u0201\\u0203\\u1EA1\\u1EAD\\u1EB7\\u1E01\\u0105\\u2C65\\u0250' },\r\n\t{ 'base': 'aa', 'letters': '\\uA733' },\r\n\t{ 'base': 'ae', 'letters': '\\u00E6\\u01FD\\u01E3' },\r\n\t{ 'base': 'ao', 'letters': '\\uA735' },\r\n\t{ 'base': 'au', 'letters': '\\uA737' },\r\n\t{ 'base': 'av', 'letters': '\\uA739\\uA73B' },\r\n\t{ 'base': 'ay', 'letters': '\\uA73D' },\r\n\t{ 'base': 'b', 'letters': '\\u0062\\u24D1\\uFF42\\u1E03\\u1E05\\u1E07\\u0180\\u0183\\u0253' },\r\n\t{ 'base': 'c', 'letters': '\\u0063\\u24D2\\uFF43\\u0107\\u0109\\u010B\\u010D\\u00E7\\u1E09\\u0188\\u023C\\uA73F\\u2184' },\r\n\t{ 'base': 'd', 'letters': '\\u0064\\u24D3\\uFF44\\u1E0B\\u010F\\u1E0D\\u1E11\\u1E13\\u1E0F\\u0111\\u018C\\u0256\\u0257\\uA77A' },\r\n\t{ 'base': 'dz', 'letters': '\\u01F3\\u01C6' },\r\n\t{ 'base': 'e', 'letters': '\\u0065\\u24D4\\uFF45\\u00E8\\u00E9\\u00EA\\u1EC1\\u1EBF\\u1EC5\\u1EC3\\u1EBD\\u0113\\u1E15\\u1E17\\u0115\\u0117\\u00EB\\u1EBB\\u011B\\u0205\\u0207\\u1EB9\\u1EC7\\u0229\\u1E1D\\u0119\\u1E19\\u1E1B\\u0247\\u025B\\u01DD' },\r\n\t{ 'base': 'f', 'letters': '\\u0066\\u24D5\\uFF46\\u1E1F\\u0192\\uA77C' },\r\n\t{ 'base': 'g', 'letters': '\\u0067\\u24D6\\uFF47\\u01F5\\u011D\\u1E21\\u011F\\u0121\\u01E7\\u0123\\u01E5\\u0260\\uA7A1\\u1D79\\uA77F' },\r\n\t{ 'base': 'h', 'letters': '\\u0068\\u24D7\\uFF48\\u0125\\u1E23\\u1E27\\u021F\\u1E25\\u1E29\\u1E2B\\u1E96\\u0127\\u2C68\\u2C76\\u0265' },\r\n\t{ 'base': 'hv', 'letters': '\\u0195' },\r\n\t{ 'base': 'i', 'letters': '\\u0069\\u24D8\\uFF49\\u00EC\\u00ED\\u00EE\\u0129\\u012B\\u012D\\u00EF\\u1E2F\\u1EC9\\u01D0\\u0209\\u020B\\u1ECB\\u012F\\u1E2D\\u0268\\u0131' },\r\n\t{ 'base': 'j', 'letters': '\\u006A\\u24D9\\uFF4A\\u0135\\u01F0\\u0249' },\r\n\t{ 'base': 'k', 'letters': '\\u006B\\u24DA\\uFF4B\\u1E31\\u01E9\\u1E33\\u0137\\u1E35\\u0199\\u2C6A\\uA741\\uA743\\uA745\\uA7A3' },\r\n\t{ 'base': 'l', 'letters': '\\u006C\\u24DB\\uFF4C\\u0140\\u013A\\u013E\\u1E37\\u1E39\\u013C\\u1E3D\\u1E3B\\u017F\\u0142\\u019A\\u026B\\u2C61\\uA749\\uA781\\uA747' },\r\n\t{ 'base': 'lj', 'letters': '\\u01C9' },\r\n\t{ 'base': 'm', 'letters': '\\u006D\\u24DC\\uFF4D\\u1E3F\\u1E41\\u1E43\\u0271\\u026F' },\r\n\t{ 'base': 'n', 'letters': '\\u006E\\u24DD\\uFF4E\\u01F9\\u0144\\u00F1\\u1E45\\u0148\\u1E47\\u0146\\u1E4B\\u1E49\\u019E\\u0272\\u0149\\uA791\\uA7A5' },\r\n\t{ 'base': 'nj', 'letters': '\\u01CC' },\r\n\t{ 'base': 'o', 'letters': '\\u006F\\u24DE\\uFF4F\\u00F2\\u00F3\\u00F4\\u1ED3\\u1ED1\\u1ED7\\u1ED5\\u00F5\\u1E4D\\u022D\\u1E4F\\u014D\\u1E51\\u1E53\\u014F\\u022F\\u0231\\u00F6\\u022B\\u1ECF\\u0151\\u01D2\\u020D\\u020F\\u01A1\\u1EDD\\u1EDB\\u1EE1\\u1EDF\\u1EE3\\u1ECD\\u1ED9\\u01EB\\u01ED\\u00F8\\u01FF\\u0254\\uA74B\\uA74D\\u0275' },\r\n\t{ 'base': 'oi', 'letters': '\\u01A3' },\r\n\t{ 'base': 'ou', 'letters': '\\u0223' },\r\n\t{ 'base': 'oo', 'letters': '\\uA74F' },\r\n\t{ 'base': 'p', 'letters': '\\u0070\\u24DF\\uFF50\\u1E55\\u1E57\\u01A5\\u1D7D\\uA751\\uA753\\uA755' },\r\n\t{ 'base': 'q', 'letters': '\\u0071\\u24E0\\uFF51\\u024B\\uA757\\uA759' },\r\n\t{ 'base': 'r', 'letters': '\\u0072\\u24E1\\uFF52\\u0155\\u1E59\\u0159\\u0211\\u0213\\u1E5B\\u1E5D\\u0157\\u1E5F\\u024D\\u027D\\uA75B\\uA7A7\\uA783' },\r\n\t{ 'base': 's', 'letters': '\\u0073\\u24E2\\uFF53\\u00DF\\u015B\\u1E65\\u015D\\u1E61\\u0161\\u1E67\\u1E63\\u1E69\\u0219\\u015F\\u023F\\uA7A9\\uA785\\u1E9B' },\r\n\t{ 'base': 't', 'letters': '\\u0074\\u24E3\\uFF54\\u1E6B\\u1E97\\u0165\\u1E6D\\u021B\\u0163\\u1E71\\u1E6F\\u0167\\u01AD\\u0288\\u2C66\\uA787' },\r\n\t{ 'base': 'tz', 'letters': '\\uA729' },\r\n\t{ 'base': 'u', 'letters': '\\u0075\\u24E4\\uFF55\\u00F9\\u00FA\\u00FB\\u0169\\u1E79\\u016B\\u1E7B\\u016D\\u00FC\\u01DC\\u01D8\\u01D6\\u01DA\\u1EE7\\u016F\\u0171\\u01D4\\u0215\\u0217\\u01B0\\u1EEB\\u1EE9\\u1EEF\\u1EED\\u1EF1\\u1EE5\\u1E73\\u0173\\u1E77\\u1E75\\u0289' },\r\n\t{ 'base': 'v', 'letters': '\\u0076\\u24E5\\uFF56\\u1E7D\\u1E7F\\u028B\\uA75F\\u028C' },\r\n\t{ 'base': 'vy', 'letters': '\\uA761' },\r\n\t{ 'base': 'w', 'letters': '\\u0077\\u24E6\\uFF57\\u1E81\\u1E83\\u0175\\u1E87\\u1E85\\u1E98\\u1E89\\u2C73' },\r\n\t{ 'base': 'x', 'letters': '\\u0078\\u24E7\\uFF58\\u1E8B\\u1E8D' },\r\n\t{ 'base': 'y', 'letters': '\\u0079\\u24E8\\uFF59\\u1EF3\\u00FD\\u0177\\u1EF9\\u0233\\u1E8F\\u00FF\\u1EF7\\u1E99\\u1EF5\\u01B4\\u024F\\u1EFF' },\r\n\t{ 'base': 'z', 'letters': '\\u007A\\u24E9\\uFF5A\\u017A\\u1E91\\u017C\\u017E\\u1E93\\u1E95\\u01B6\\u0225\\u0240\\u2C6C\\uA763' }\r\n];\r\n\r\n\r\n","export default class Labels {\r\n}\r\nLabels.LABELS = [\r\n\t{\r\n\t\t\"value_fr\": \"\",\r\n\t\t\"value_en\": \"\",\r\n\t\t\"value_it\": \"Clicca sui diversi hotspots per accedere alle aree indicate sulla mappa.\",\r\n\t\t\"value_de\": \"\",\r\n\t\t\"value_es\": \"\",\r\n\t\t\"id\": \"mapLegenda\"\r\n\t},\r\n\t{\r\n\t\t\"value_fr\": \"\",\r\n\t\t\"value_en\": \"\",\r\n\t\t\"value_it\": \"Ruota per favore il tuo dispositivo.\",\r\n\t\t\"value_de\": \"\",\r\n\t\t\"value_es\": \"\",\r\n\t\t\"id\": \"turnPhone\"\r\n\t},\r\n\t{\r\n\t\t\"value_fr\": \"\",\r\n\t\t\"value_en\": \"\",\r\n\t\t\"value_it\": \"Continua\",\r\n\t\t\"value_de\": \"\",\r\n\t\t\"value_es\": \"\",\r\n\t\t\"id\": \"continua\"\r\n\t},\r\n\t{\r\n\t\t\"value_fr\": \"\",\r\n\t\t\"value_en\": \"\",\r\n\t\t\"value_it\": \"Muoviti a 360ยฐ\",\r\n\t\t\"value_de\": \"\",\r\n\t\t\"value_es\": \"\",\r\n\t\t\"id\": \"instr0\"\r\n\t},\r\n\t{\r\n\t\t\"value_fr\": \"\",\r\n\t\t\"value_en\": \"\",\r\n\t\t\"value_it\": \"Hotspot di navigazione\",\r\n\t\t\"value_de\": \"\",\r\n\t\t\"value_es\": \"\",\r\n\t\t\"id\": \"instr1\"\r\n\t},\r\n\t{\r\n\t\t\"value_fr\": \"\",\r\n\t\t\"value_en\": \"\",\r\n\t\t\"value_it\": \"Zoomma e naviga\",\r\n\t\t\"value_de\": \"\",\r\n\t\t\"value_es\": \"\",\r\n\t\t\"id\": \"instr2\"\r\n\t},\r\n\t{\r\n\t\t\"value_fr\": \"\",\r\n\t\t\"value_en\": \"\",\r\n\t\t\"value_it\": \"Mappa interattiva\",\r\n\t\t\"value_de\": \"\",\r\n\t\t\"value_es\": \"\",\r\n\t\t\"id\": \"instr3\"\r\n\t},\r\n\t{\r\n\t\t\"value_fr\": \"\",\r\n\t\t\"value_en\": \"\",\r\n\t\t\"value_it\": \"Freccia per muoversi
tra i piani\",\r\n\t\t\"value_de\": \"\",\r\n\t\t\"value_es\": \"\",\r\n\t\t\"id\": \"instr4\"\r\n\t},\r\n\t{\r\n\t\t\"value_fr\": \"\",\r\n\t\t\"value_en\": \"\",\r\n\t\t\"value_it\": \"Ruota vista\",\r\n\t\t\"value_de\": \"\",\r\n\t\t\"value_es\": \"\",\r\n\t\t\"id\": \"instr5\"\r\n\t},\r\n\t{\r\n\t\t\"value_fr\": \"\",\r\n\t\t\"value_en\": \"\",\r\n\t\t\"value_it\": \"Seleziona / Naviga\",\r\n\t\t\"value_de\": \"\",\r\n\t\t\"value_es\": \"\",\r\n\t\t\"id\": \"instr6\"\r\n\t},\r\n\t{\r\n\t\t\"value_fr\": \"\",\r\n\t\t\"value_en\": \"\",\r\n\t\t\"value_it\": \"Modifica zoom\",\r\n\t\t\"value_de\": \"\",\r\n\t\t\"value_es\": \"\",\r\n\t\t\"id\": \"instr7\"\r\n\t},\r\n\t{\r\n\t\t\"value_fr\": \"\",\r\n\t\t\"value_en\": \"\",\r\n\t\t\"value_it\": \"Italiano\",\r\n\t\t\"value_de\": \"\",\r\n\t\t\"value_es\": \"\",\r\n\t\t\"id\": \"lng_it\"\r\n\t},\r\n\t{\r\n\t\t\"value_fr\": \"\",\r\n\t\t\"value_en\": \"\",\r\n\t\t\"value_it\": \"English\",\r\n\t\t\"value_de\": \"\",\r\n\t\t\"value_es\": \"\",\r\n\t\t\"id\": \"lng_en\"\r\n\t}\r\n]\r\n","import Main from \"./Main.js\";\r\nimport Pqp from \"../3x1010/Pqp.js\";\r\n\r\nexport default class Scene {\r\n constructor() {\r\n\r\n }\r\n\r\n static setSceneNames() {\r\n\r\n jQuery(\".js-orienta\").hide();\r\n let pano = Scene.pano;\r\n let quante = pano.get(\"scene.count\");\r\n for (var x = 0; x < quante; x++) {\r\n let sceneXml = pano.get(\"scene[\" + x + \"]\");\r\n let scene = Scene.getSceneByName(sceneXml.name);\r\n pano.set(\"scene[\" + x + \"].title\", scene[\"title_\" + Scene.userLang.toLowerCase()]);\r\n pano.set(\"scene[\" + x + \"].onstart\", \"js(trixProxy('Main','moveAndTag','reached-station','\" + Scene.userLang.toLowerCase() + \"', '\" + scene.name + \"'))\");\r\n //pano.set(\"scene[\" + x + \"].view.maxpixelzoom\", \"1.0\");\r\n }\r\n Scene.setHotspotsAction();\r\n }\r\n\r\n static gotoScene(spot, first) {\r\n //console.log(\"-->\" + Scene.getCurrentScene().spot);\r\n this.lastSceneSpot = Scene.getCurrentScene().spot;\r\n\r\n\r\n console.log(\"-gotoScene-\")\r\n let pano = Scene.pano;\r\n let name = (Scene.getSceneBySpot(spot)).name;\r\n console.log(name);\r\n\r\n pano.call(\"loadscene(\" + name + \");\");\r\n //console.log(this.pano.get(\"events\"))\r\n if (!first) {\r\n //setTimeout(jQuery.proxy(Main.that.showInfoForced, Main.that), 100);\r\n }\r\n\r\n // Forza il lookat\r\n let scene = Scene.getSceneBySpot(spot);\r\n if (Main.that.fhlookat) {\r\n scene = {\r\n hlookat: \"\" + Main.that.fhlookat,\r\n vlookat: \"\" + Main.that.fvlookat\r\n }\r\n //console.log(scene)\r\n Main.that.fhlookat = null;\r\n Main.that.vhlookat = null;\r\n }\r\n\r\n console.log(spot, this.lastSceneSpot)\r\n let lSkip = false;\r\n if (PLUNGE_SETTINGS.uidTour === \"abeb8226b6594aecb2f90eb017bbf33b\") {\r\n } else {\r\n\r\n if (\"\" + this.lastSceneSpot === \"\" + 10) {\r\n if (\"\" + spot === \"\" + 9) {\r\n lSkip = true;\r\n this.pano.set(\"view.hlookat\", 261.0);\r\n this.pano.set(\"view.vlookat\", 1.7);\r\n }\r\n }\r\n if (\"\" + this.lastSceneSpot === \"\" + 1) {\r\n if (\"\" + spot === \"\" + 10) {\r\n lSkip = true;\r\n this.pano.set(\"view.hlookat\", 354.0);\r\n this.pano.set(\"view.vlookat\", -2);\r\n }\r\n }\r\n }\r\n\r\n if (!lSkip) {\r\n if (!Pqp.isNullOrEmpty(scene.hlookat)) {\r\n this.pano.set(\"view.hlookat\", parseFloat(scene.hlookat));\r\n }\r\n if (!Pqp.isNullOrEmpty(scene.vlookat)) {\r\n this.pano.set(\"view.vlookat\", parseFloat(scene.vlookat));\r\n }\r\n }\r\n\r\n }\r\n\r\n static getSceneBySpot(spot) {\r\n let pano = Scene.pano;\r\n let a = SceneList.SCENE;\r\n for (let x = 0; x < a.length; x++) {\r\n if (a[x].spot == spot) {\r\n return a[x];\r\n }\r\n }\r\n return a[0];\r\n }\r\n\r\n static getSceneByName(sceneName) {\r\n let a = SceneList.SCENE;\r\n for (let x = 0; x < a.length; x++) {\r\n if (a[x].name.toLowerCase() == sceneName.toLowerCase()) {\r\n return a[x];\r\n }\r\n }\r\n return a[0];\r\n }\r\n\r\n static getCurrentXmlScene() {\r\n let pano = Scene.pano;\r\n return pano.get(\"xml\");\r\n }\r\n\r\n static getCurrentScene() {\r\n let pano = Scene.pano;\r\n let name = pano.get(\"xml\").scene;\r\n return Scene.getSceneByName(name);\r\n }\r\n\r\n static setHotspotsAction() {\r\n let pano = Scene.pano;\r\n let quanti = pano.get('hotspot.count');\r\n let elenco = \"\"\r\n let elenco50 = \"\"\r\n\r\n for (var x = 0; x < quanti; x++) {\r\n var hs = pano.get('hotspot[' + x + ']');\r\n\r\n\r\n if (hs.scene_el) {\r\n // Controlla se la scena ha un corrispettivo in SceneList\r\n let sceneLocal = this.getHotspotByName(hs.title);\r\n\r\n let setta = true;\r\n if (hs.title.toLowerCase().indexOf(\"navigation\") >= 0) {\r\n setta = false\r\n }\r\n if (hs.url) {\r\n if (hs.url.toLowerCase().indexOf(\"videoplayer.js\") >= 0) {\r\n setta = false\r\n }\r\n }\r\n\r\n hs.onhover = \"\";\r\n\r\n if (setta) {\r\n hs.onclick = \"js(trixProxy('Main','handleHotspot','\" + hs.title + \"'));\";\r\n hs.ondown = \"\";\r\n\r\n let tmp = hs.title.split(\"_\");\r\n let num = parseInt(tmp[tmp.length - 1]);\r\n if (num >= 50) {\r\n hs.zorder = \"0\";\r\n let newhs = tmp[0] + \"_\" + tmp[1] + \"_\" + Scene.padr(\"\" + (num - 50), \"0\", 2);\r\n //console.log(newhs)\r\n hs.onclick = \"js(trixProxy('Main','handleHotspot','\" + newhs + \"'));\";\r\n sceneLocal = true;\r\n\r\n // Controlla se esiste il corrispettivo\r\n let sceneMeno50 = this.getHotspotByName(newhs);\r\n\r\n if (!sceneMeno50) {\r\n elenco50 += hs.title + \"\\n\";\r\n }\r\n\r\n\r\n }\r\n }\r\n if (hs.title.toLowerCase().indexOf(\"dummy\") >= 0) {\r\n sceneLocal = true;\r\n }\r\n\r\n if (!sceneLocal) {\r\n elenco += hs.title + \"\\n\";\r\n }\r\n\r\n\r\n // Spostato fuori cosรฌ li fa tutti\r\n if (hs.url) {\r\n if (hs.url.toLowerCase().indexOf(\"hs_cerchi\") >= 0) {\r\n // mmmh che profumino, cosa avete cucinato?\r\n let w = hs.width;\r\n hs.width = 1;\r\n hs.oldWidth = w;\r\n //console.log(\"setto \"+ hs.title + \" \" + w)\r\n hs.ondown = \"trix_animation(64,64, 20);\"\r\n if (!Scene.animationTriggerNew) {\r\n hs.onloaded = \"js(Scene.startHsAnimation(\" + x + \",\" + w + \"))\" // PQP \r\n setTimeout(jQuery.proxy(this.startHsAnimation, this, hs, w), 3000); // PQP\r\n } else {\r\n hs.triggeraAnimazione = true;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n if (elenco.length > 0) {\r\n Main.debugTrace(\"Hotspot orfani\")\r\n Main.debugTrace(elenco);\r\n }\r\n\r\n if (elenco50.length > 0) {\r\n Main.debugTrace(\"Hotspot orfani 50\")\r\n Main.debugTrace(elenco50);\r\n }\r\n\r\n }\r\n static padr(sString, sChar, nQuanti) {\r\n var n;\r\n n = sString.length;\r\n for (var x = 0; x < (nQuanti - n); x++) {\r\n sString = sChar + sString;\r\n }\r\n return sString;\r\n };\r\n\r\n\r\n /*Scene.startHsAnimation(hs) {\r\n let pano = Scene.pano;\r\n if (typeof (hs) == \"string\") {\r\n hs = pano.get('hotspot[' + hs + ']');\r\n }\r\n if (hs) {\r\n if (Scene.fatte.indexOf(hs.name) < 0) {\r\n //console.log(\"Animazione triggerata per \" +hs.title)\r\n Scene.fatte.push(hs.name);\r\n // hs.width = w; //PQP\r\n hs.width = hs.oldWidth;\r\n hs.triggerevent(\"ondown\");\r\n hs.ondown = \"\" // PQP\r\n }\r\n }\r\n }*/\r\n\r\n static startHsAnimation(hs, w) {\r\n let pano = Scene.pano;\r\n if (typeof (hs) == \"string\") {\r\n hs = pano.get('hotspot[' + hs + ']');\r\n w = parseInt(w);\r\n }\r\n if (hs) {\r\n if (Scene.fatte.indexOf(hs.name) < 0) {\r\n //console.log(\"Animazione triggerata per \" +hs.title)\r\n //console.log(hs.title + \" \"+ hs.width+ \" \" +w + \" \" +hs.oldWidth)\r\n\r\n Scene.fatte.push(hs.name);\r\n if (hs.oldWidth) {\r\n hs.width = hs.oldWidth; //PQP\r\n } else {\r\n hs.width = w; //PQP\r\n }\r\n hs.triggerevent(\"ondown\");\r\n hs.ondown = \"\" // PQP\r\n hs.onloaded = \"\"\r\n\r\n\r\n }\r\n }\r\n }\r\n /*\r\n Scene.startHsAnimation(hs, w) {\r\n let pano = Scene.pano;\r\n if (typeof (hs) == \"string\") {\r\n hs = pano.get('hotspot[' + hs + ']');\r\n w = parseInt(w);\r\n }\r\n if (hs) {\r\n if (Scene.fatte.indexOf(hs.name) < 0) {\r\n //console.log(hs.title + \" \"+ hs.width+ \" \" +w + \" \" +hs.oldWidth)\r\n //console.log(\"Animazione triggerata per \" +hs.title)\r\n Scene.fatte.push(hs.name);\r\n hs.width = w; //PQP\r\n hs.triggerevent(\"ondown\");\r\n hs.ondown = \"\" // PQP\r\n \t\r\n\t\r\n }\r\n }\r\n }\r\n */\r\n static getHotspotByName(name) {\r\n let a = SceneList.SCENE;\r\n for (let x = 0; x < a.length; x++) {\r\n let scene = a[x];\r\n if (scene.hotspots) {\r\n for (let y = 0; y < scene.hotspots.length; y++) {\r\n if (scene.hotspots[y].name.toLowerCase() == name.toLowerCase()) {\r\n return scene.hotspots[y];\r\n }\r\n }\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n /*\r\n Scene.getHotspotTitle(sceneName, hotspotName) {\r\n //console.log(sceneName,hotspotName)\r\n let scene = Scene.getSceneByName(sceneName);\r\n if (scene.hotspots) {\r\n let a = scene.hotspots;\r\n for (let x=0;x 20) {\r\n\t\t\t\t\tcol = 0;\r\n\t\t\t\t\trow++;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\r\n\t\tfor (let x = 0; x < a.length; x++) {\r\n\t\t\t//if (a[x].showOnMap) {\r\n\r\n\t\t\tlet hs = jQuery(\"#template-trix-hothud\").clone();\r\n\t\t\ths.attr(\"id\", \"huhs\" + MappaHud.ENUM++);\r\n\t\t\tjQuery(\".js-panel-hud\", mc).append(hs);\r\n\t\t\tif (a[x].patchPosx) {\r\n\t\t\t\ths.css({\r\n\t\t\t\t\ttop: a[x].patchPosy,\r\n\t\t\t\t\tleft: a[x].patchPosx\r\n\t\t\t\t});\r\n\r\n\t\t\t} else {\r\n\r\n\t\t\t\ths.css({\r\n\t\t\t\t\ttop: this.patchaPercTop(a[x].top),\r\n\t\t\t\t\tleft: this.patchaPercLeft(a[x].left)\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\t// Cerca la caption adeguata\r\n\t\t\tlet caption = a[x].caption;\r\n\t\t\tif (!a[x].showOnMap) {\r\n\t\t\t\t// cerca la caption di quello mostrato\r\n\t\t\t\tfor (let p = 0; p < a.length; p++) {\r\n\t\t\t\t\tif (a[p].area == attuale.area) {\r\n\t\t\t\t\t\tif (a[p].showOnMap) {\r\n\t\t\t\t\t\t\tcaption = a[p].caption;\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t}\r\n\t\t\tif (a[x].showOnMap) { // PQPDATOGLIERE\r\n\t\t\t\tjQuery(\".js-caption\", hs).html(caption);\r\n\t\t\t} else { // PQPDATOGLIERE\r\n\t\t\t\tjQuery(\".js-caption\", hs).html(\"\"); // PQPDATOGLIERE\r\n\t\t\t} // PQPDATOGLIERE\r\n\t\t\tjQuery(\".js-orienta\", hs).hide();\r\n\r\n\t\t\ths.on(\"click\", jQuery.proxy(this.dismiss, this, {\r\n\t\t\t\tscene: a[x].spot\r\n\t\t\t}));\r\n\t\t\tif (a[x].area == attuale.area) {\r\n\t\t\t\ttoHigh.push({\r\n\t\t\t\t\tspot: a[x].spot,\r\n\t\t\t\t\tmc: hs,\r\n\t\t\t\t\tdata: a[x],\r\n\t\t\t\t\tshow: a[x].showOnMap\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tif (!a[x].showOnMap) { // PQPDATOGLIERE \r\n\t\t\t\t\ths.hide();\r\n\t\t\t\t} // PQPDATOGLIERE \r\n\t\t\t}\r\n\t\t\tif (a[x].showOnMap) {\r\n\r\n\t\t\t\tlet hsdesc = jQuery(\"#template-hub-entry\").clone();\r\n\t\t\t\thsdesc.attr(\"id\", \"huhs\" + MappaHud.ENUM++);\r\n\t\t\t\tjQuery(\".js-left\", hsdesc).html(a[x].caption + \".\");\r\n\t\t\t\t//jQuery(\".js-left\", hsdesc).html(a[x].caption + \". \" + a[x][\"title_\" + this.userLang.toLowerCase()]);\r\n\t\t\t\tjQuery(\".js-right\", hsdesc).html(a[x][\"Titolo_\" + this.userLang.toLowerCase()]);\r\n\t\t\t\ttoAppend.push({\r\n\t\t\t\t\tcaption: this.padr(a[x].caption, \"0\", 3),\r\n\t\t\t\t\tmc: hsdesc\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\r\n\t\t\t//}\r\n\t\t}\r\n\r\n\r\n\t\ttoAppend.sort(function (a, b) {\r\n\t\t\tif (a.caption < b.caption)\r\n\t\t\t\treturn -1;\r\n\t\t\tif (a.caption > b.caption)\r\n\t\t\t\treturn 1;\r\n\t\t\treturn 0;\r\n\t\t});\r\n\t\t// Lista ordinata\r\n/*\t\tfor (let x = 0; x < toAppend.length; x++) {\r\n\t\t\tjQuery(\".js-list\", mc).append(toAppend[x].mc);\r\n\t\t}*/\r\n\t\t/*let cols = [[], [], [], [], []];\r\n\t\tfor (let x = 0; x < toAppend.length; x++) {\r\n\t\t\tlet n = x % 5;\r\n\t\t\tcols[n].push(toAppend[x].mc);\r\n\t\t\t//jQuery(\".js-list\", mc).append(toAppend[x].mc);\r\n\t\t}\r\n\t\tconsole.log(cols)\r\n\r\n\t\tfor (let x = 0; x < cols[0].length; x++) {\r\n\t\t\tfor (let y = 0; y < cols.length; y++) {\r\n\t\t\t\tjQuery(\".js-list\", mc).append(cols[x*5+y]);\r\n\t\t\t}\r\n\t\t}*/\r\n\r\n\t\tif (PLUNGE_SETTINGS.uidTour === \"abeb8226b6594aecb2f90eb017bbf33b\") {\r\n\r\n\t\t\t// Faccio prima a farlo a mano\r\n\t\t\tlet dummy = toAppend[0].mc.clone();\r\n\t\t\tdummy.removeAttr(\"id\");\r\n\r\n\t\t\tjQuery(\".sx\", dummy).html(\" \");\r\n\t\t\tjQuery(\".dx\", dummy).html(\" \");\r\n\t\t\tjQuery(\".sx\", dummy).css(\"font-size\", \"0.5rem\")\r\n\t\t\tjQuery(\".dx\", dummy).css(\"font-size\", \"0.5rem\")\r\n\r\n\t\t\tjQuery(\".js-col-0\", mc).append(dummy.clone());\r\n\t\t\tjQuery(\".js-col-0\", mc).append(toAppend[0].mc);\r\n\t\t\tjQuery(\".js-col-0\", mc).append(toAppend[1].mc);\r\n\t\t\tjQuery(\".js-col-0\", mc).append(toAppend[2].mc);\r\n\t\t\tjQuery(\".js-col-0\", mc).append(toAppend[3].mc);\r\n\t\t\tjQuery(\".js-col-0\", mc).append(toAppend[4].mc);\r\n\t\t\tjQuery(\".js-col-0\", mc).append(toAppend[5].mc);\r\n\r\n\t\t\tlet t = jQuery(\".dx\", toAppend[5].mc).text()\r\n\t\t\tjQuery(\".dx\", toAppend[5].mc).text(\" - G. \" + t);\r\n\r\n\r\n\t\t\tjQuery(\".js-col-0\", mc).append(dummy.clone());\r\n\t\r\n\t\t\tjQuery(\".js-col-1\", mc).append(dummy.clone());\r\n\t\t\tjQuery(\".js-col-1\", mc).append(toAppend[7].mc);\r\n\t\t\tt = jQuery(\".dx\", toAppend[7].mc).text()\r\n\t\t\tjQuery(\".dx\", toAppend[7].mc).text(\" - J. \" + t);\r\n\r\n\r\n\r\n\t\t\tjQuery(\".js-col-1\", mc).append(toAppend[10].mc);\r\n\t\t\tt = jQuery(\".dx\", toAppend[10].mc).text()\r\n\t\t\tjQuery(\".dx\", toAppend[10].mc).text(\" - O. \" + t);\r\n\r\n\t\t\t/*jQuery(\".js-col-1\", mc).append(toAppend[8].mc);\r\n\t\t\tjQuery(\".js-col-1\", mc).append(toAppend[9].mc);*/\r\n\t\t\tjQuery(\".js-col-1\", mc).append(toAppend[15].mc);\r\n\t\t\t//jQuery(\".js-col-1\", mc).append(toAppend[11].mc);\r\n\t\t\tt = jQuery(\".dx\", toAppend[15].mc).text()\r\n\t\t\tjQuery(\".dx\", toAppend[15].mc).text(\" - V. \" + t);\r\n\r\n\t\t\tjQuery(\".js-col-1\", mc).append(dummy.clone());\r\n\t\r\n\t\t\t/*jQuery(\".js-col-2\", mc).append(dummy.clone());\r\n\t\t\tjQuery(\".js-col-2\", mc).append(toAppend[12].mc);\r\n\t\t\tjQuery(\".js-col-2\", mc).append(toAppend[13].mc);\r\n\t\t\tjQuery(\".js-col-2\", mc).append(toAppend[14].mc);\r\n\t\t\tjQuery(\".js-col-2\", mc).append(toAppend[15].mc);\r\n\t\t\tjQuery(\".js-col-2\", mc).append(toAppend[16].mc);\r\n\t\t\tjQuery(\".js-col-2\", mc).append(toAppend[17].mc);\r\n\t\t\tjQuery(\".js-col-2\", mc).append(dummy.clone());*/\r\n\r\n\t\t} else {\r\n\r\n\t\t\t// Faccio prima a farlo a mano\r\n\t\t\tlet dummy = toAppend[0].mc.clone();\r\n\t\t\tdummy.removeAttr(\"id\");\r\n\r\n\t\t\tjQuery(\".sx\", dummy).html(\" \");\r\n\t\t\tjQuery(\".dx\", dummy).html(\" \");\r\n\t\t\tjQuery(\".sx\", dummy).css(\"font-size\", \"0.5rem\")\r\n\t\t\tjQuery(\".dx\", dummy).css(\"font-size\", \"0.5rem\")\r\n\r\n\t\t\t/*jQuery(\".js-col-0\", mc).append(dummy.clone());\r\n\t\t\tjQuery(\".js-col-0\", mc).append(toAppend[0].mc);\r\n\t\t\tjQuery(\".js-col-0\", mc).append(toAppend[1].mc);\r\n\t\t\tjQuery(\".js-col-0\", mc).append(toAppend[2].mc);\r\n\t\t\tjQuery(\".js-col-0\", mc).append(toAppend[3].mc);\r\n\t\t\tjQuery(\".js-col-0\", mc).append(toAppend[4].mc);\r\n\t\t\tjQuery(\".js-col-0\", mc).append(toAppend[5].mc);\r\n\t\t\tjQuery(\".js-col-0\", mc).append(dummy.clone());\r\n\t\r\n\t\t\tjQuery(\".js-col-1\", mc).append(dummy.clone());\r\n\t\t\tjQuery(\".js-col-1\", mc).append(toAppend[6].mc);\r\n\t\t\tjQuery(\".js-col-1\", mc).append(toAppend[7].mc);\r\n\t\t\tjQuery(\".js-col-1\", mc).append(toAppend[8].mc);\r\n\t\t\tjQuery(\".js-col-1\", mc).append(toAppend[9].mc);\r\n\t\t\tjQuery(\".js-col-1\", mc).append(toAppend[10].mc);\r\n\t\t\tjQuery(\".js-col-1\", mc).append(toAppend[11].mc);\r\n\t\t\tjQuery(\".js-col-1\", mc).append(dummy.clone());\r\n\t\r\n\t\t\tjQuery(\".js-col-2\", mc).append(dummy.clone());\r\n\t\t\tjQuery(\".js-col-2\", mc).append(toAppend[12].mc);\r\n\t\t\tjQuery(\".js-col-2\", mc).append(toAppend[13].mc);\r\n\t\t\tjQuery(\".js-col-2\", mc).append(toAppend[14].mc);\r\n\t\t\tjQuery(\".js-col-2\", mc).append(toAppend[15].mc);\r\n\t\t\tjQuery(\".js-col-2\", mc).append(toAppend[16].mc);\r\n\t\t\tjQuery(\".js-col-2\", mc).append(toAppend[17].mc);\r\n\t\t\tjQuery(\".js-col-2\", mc).append(dummy.clone());*/\r\n\r\n\t\t\tjQuery(\".js-col-0\", mc).append(dummy.clone());\r\n\t\t\tjQuery(\".js-col-0\", mc).append(toAppend[0].mc);\r\n\t\t\tlet t = jQuery(\".dx\", toAppend[0].mc).text()\r\n\t\t\tjQuery(\".dx\", toAppend[0].mc).text(\" - M. \" + t);\r\n\t\t\tjQuery(\".js-col-0\", mc).append(toAppend[11].mc);\r\n\t\t\tjQuery(\".js-col-0\", mc).append(toAppend[12].mc);\r\n\t\t\tjQuery(\".js-col-0\", mc).append(toAppend[13].mc);\r\n\t\t\tjQuery(\".js-col-0\", mc).append(toAppend[14].mc);\r\n\t\t\tjQuery(\".js-col-0\", mc).append(dummy.clone());\r\n\r\n\t\t\tjQuery(\".js-col-1\", mc).append(dummy.clone());\r\n\t\t\tjQuery(\".js-col-1\", mc).append(toAppend[15].mc);\r\n\t\t\tjQuery(\".js-col-1\", mc).append(toAppend[16].mc);\r\n\t\t\tjQuery(\".js-col-1\", mc).append(toAppend[17].mc);\r\n\t\t\tjQuery(\".js-col-1\", mc).append(toAppend[18].mc);\r\n\t\t\tjQuery(\".js-col-1\", mc).append(dummy.clone());\r\n\r\n\t\t\t/*\r\n\t\t\tjQuery(\".js-col-2\", mc).append(toAppend[19].mc);\r\n\t\t\tjQuery(\".js-col-2\", mc).append(toAppend[20].mc);\r\n\t\t\tjQuery(\".js-col-2\", mc).append(toAppend[21].mc);\r\n\t\t\tjQuery(\".js-col-2\", mc).append(toAppend[22].mc);\r\n\t\t\tjQuery(\".js-col-2\", mc).append(toAppend[23].mc);\r\n\t\r\n\t\t\tjQuery(\".js-col-3\", mc).append(toAppend[24].mc);\r\n\t\t\tjQuery(\".js-col-3\", mc).append(toAppend[25].mc);\r\n\t\t\tjQuery(\".js-col-3\", mc).append(toAppend[26].mc);\r\n\t\t\tjQuery(\".js-col-3\", mc).append(toAppend[27].mc);\r\n\t\t\tjQuery(\".js-col-3\", mc).append(toAppend[28].mc);\r\n\t\t\tjQuery(\".js-col-3\", mc).append(toAppend[29].mc);\r\n\t\t\tjQuery(\".js-col-3\", mc).append(toAppend[30].mc);\r\n\t\t\tjQuery(\".js-col-3\", mc).append(toAppend[31].mc);\r\n\t\r\n\t\t\tjQuery(\".js-col-4\", mc).append(toAppend[32].mc);\r\n\t\t\tjQuery(\".js-col-4\", mc).append(toAppend[33].mc);\r\n\t\t\tjQuery(\".js-col-4\", mc).append(toAppend[34].mc);\r\n\t\t\tjQuery(\".js-col-4\", mc).append(toAppend[35].mc);\r\n\t\r\n\t\r\n\t\t\tjQuery(\".js-col-4\", mc).append(toAppend[36].mc);\r\n\t\t\tjQuery(\".js-col-4\", mc).append(toAppend[37].mc);\r\n\t\t\tjQuery(\".js-col-4\", mc).append(toAppend[38].mc);\r\n\t\t\tjQuery(\".js-col-4\", mc).append(toAppend[39].mc);*/\r\n\t\t\t//jQuery(\".js-col-4\", mc).append(toAppend[40].mc);\r\n\r\n\t\t}\r\n\r\n\t\t// Controlla l'highlight\r\n\t\tlet lFound = false;\r\n\t\tlet norienta = 0;\r\n\t\tfor (let x = 0; x < toHigh.length; x++) {\r\n\t\t\t//console.log(toHigh[x].spot + \" \" + attuale.spot)\r\n\t\t\tif (toHigh[x].spot == attuale.spot) {\r\n\t\t\t\ttoHigh[x].mc.addClass(\"trix-hothud-selected\");\r\n\t\t\t\tlFound = true;\r\n\t\t\t\tnorienta = x;\r\n\t\t\t} else {\r\n\t\t\t\tif (!toHigh[x].show) {\r\n\t\t\t\t\ttoHigh[x].mc.hide();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (!lFound) {\r\n\t\t\tif (toHigh.length > 0) {\r\n\t\t\t\ttoHigh[0].mc.addClass(\"trix-hothud-selected\");\r\n\t\t\t}\r\n\t\t}\r\n\r\n\r\n\r\n\t\t//this.orientaIndicatore(toHigh[0].mc, toHigh[0]);\r\n\t\tthis.orientaIndicatore(toHigh[norienta].mc, toHigh[norienta]);\r\n\r\n\t\t//toHigh[0].mc.css(\"z-index\", 10000);\r\n\t\ttoHigh[norienta].mc.css(\"z-index\", 10000);\r\n\r\n\t\tjQuery(\".js-btn-close\", mc).on(\"click\", jQuery.proxy(this.dismiss, this, null));\r\n\t\tthis.mc = mc;\r\n\r\n\t\tmc.css(\"opacity\", 0);\r\n\r\n\t\tthis.show();\r\n\r\n\r\n\t};\r\n\r\n\r\n\torientaIndicatore(mc, o) {\r\n\t\tlet indicatore = jQuery(\".js-orienta\", mc)\r\n\t\tindicatore.show();\r\n\t\t//let original = Main.that.getOrientamentoBySceneName(\"scene0\");\r\n\t\tlet original = { prealign: \"0|0|0\" };//this.getOrientamentoBySceneName(\"scene0\");\r\n\t\tlet current = Main.that.getOrientamentoBySceneName(Scene.getCurrentScene().name);\r\n\t\tlet spanOriginal = parseFloat(original.prealign.split(\"|\")[1]);\r\n\t\tlet spanCurrent = parseFloat(current.prealign.split(\"|\")[1]);\r\n\t\t//console.log(\"-----------\")\t\r\n\r\n\t\tlet dif = spanOriginal - spanCurrent;\r\n\t\t//console.log(\"Dif: \" + dif);\r\n\t\t//console.log(spanOriginal, spanCurrent);\r\n\t\tlet view = Main.that.pano.get(\"view\");\r\n\t\tlet curAngle = view.hlookat\r\n\t\tlet adjust = Math.floor(Math.abs(view.hlookat / 360));\r\n\r\n\t\tif (curAngle < 0) {\r\n\t\t\tcurAngle += adjust * 360;\r\n\t\t} else {\r\n\t\t\tcurAngle -= adjust * 360;\r\n\t\t}\r\n\r\n\t\t/*\r\n\t\tconsole.log(view.hlookat);\r\n\t\tconsole.log(adjust)\r\n\t\tconsole.log(curAngle);\r\n\t\t*/\r\n\r\n\t\t//let endAngle = dif - curAngle + 90\r\n\r\n\t\t//endAngle = curAngle;\r\n\r\n\t\t//console.log(o)\r\n\t\tlet sfaso = PLUNGE_SETTINGS.customs.angle_span;\r\n\t\tif (!Pqp.isNullOrEmpty(o.data.adjustAngle)) {\r\n\t\t\tsfaso = o.data.adjustAngle;\r\n\t\t}\r\n\t\tlet value = curAngle\r\n\t\t//value += PLUNGE_SETTINGS.customs.angle_span;\r\n\t\tvalue += sfaso;\r\n\t\tvalue -= dif;\r\n\t\tindicatore.css(\"transform\", \"rotate(\" + value + \"deg)\");\r\n\r\n\r\n\t};\r\n\r\n\tpatchaPercTop(top) {\r\n\t\tlet tmp = parseFloat(top.split(\"%\")[0]);\r\n\t\t//tmp -= 2.5;\r\n\t\treturn tmp + \"%\";\r\n\t}\r\n\tpatchaPercLeft(left) {\r\n\t\tlet tmp = parseFloat(left.split(\"%\")[0]);\r\n\t\t//tmp -= 1.7;\r\n\t\treturn tmp + \"%\";\r\n\r\n\t}\r\n\tpadr(sString, sChar, nQuanti) {\r\n\t\tvar n;\r\n\t\tn = sString.length;\r\n\t\tfor (var x = 0; x < (nQuanti - n); x++) {\r\n\t\t\tsString = sChar + sString;\r\n\t\t}\r\n\t\treturn sString;\r\n\t};\r\n\r\n\tremove(o) {\r\n\t\tif (o) {\r\n\t\t\tthis.gotoScene(o.scene);\r\n\t\t}\r\n\t\tthis.btn.on(\"click\", jQuery.proxy(this.showMap, this));\r\n\t\tthis.mc.remove();\r\n\t\tMain.sfoca(false);\r\n\t\tMain.showInterface(true)\r\n\r\n\t}\r\n\r\n\r\n\tgotoScene(scene) {\r\n\t\tthis.callback.call(null, {\r\n\t\t\ttype: MappaHud.EVENT_GOTO_SCENE,\r\n\t\t\tspot: scene\r\n\t\t});\r\n\t}\r\n\r\n\tshowWidget(lFlag) {\r\n\t\tif (lFlag) {\r\n\t\t\tthis.btn.show();\r\n\t\t} else {\r\n\t\t\tthis.btn.hide();\r\n\t\t}\r\n\t}\r\n}\r\n\r\nMappaHud.EVENT_GOTO_SCENE = \"eventGotoScene\";\r\n\r\nMappaHud.ENUM = 0;\r\n","import Main from \"./Main.js\";\r\nimport Pqp from \"../3x1010/Pqp.js\";\r\n\r\nexport default class Welcome {\r\n\tconstructor(userLang, callback) {\r\n\t\tthis.userLang = userLang;\r\n\t\tthis.mc = undefined;\r\n\t\tthis.callback = callback;\r\n\t\tthis.canClose = false;\r\n\t}\r\n\r\n\r\n\tinit(delay) {\r\n\t\tlet mc = jQuery(\"#template-trix-welcome\").clone();\r\n\t\tmc.attr(\"id\", \"welcome\" + Welcome.ENUM++);\r\n\t\tjQuery(\".js-trix1010\").append(mc);\r\n\r\n\t\tmc.on(\"click\", jQuery.proxy(this.dismiss, this))\r\n\t\tthis.mc = mc;\r\n\r\n\t\tmc.css(\"opacity\", 0);\r\n\r\n\t\tjQuery(\".js-title\", this.mc).html(Main.lbl(\"introTitolo\"));\r\n\t\tjQuery(\".js-subtitle\", this.mc).html(Main.lbl(\"introDescrizione\"));\r\n\t\tjQuery(\".js-btn\", this.mc).html(Main.lbl(\"continua\"));\r\n\r\n\r\n\t\tif ((delay) && (delay > 0)) {\r\n\t\t\tsetTimeout(jQuery.proxy(this.show, this), delay);\r\n\t\t} else {\r\n\t\t\tthis.show();\r\n\t\t}\r\n\t}\r\n\r\n\tshow() {\r\n\t\tMain.sfoca(true);\r\n\t\tTweenMax.to(this.mc, 0.5, {\r\n\t\t\topacity: 1,\r\n\t\t\tonComplete: jQuery.proxy(this.canInteract, this)\r\n\t\t});\r\n\r\n\t}\r\n\tcanInteract() {\r\n\t\tthis.canClose = true;\r\n\t}\r\n\tdismiss() {\r\n\t\tif (this.canClose) {\r\n\r\n\t\t\tif (Pqp.isMobile()) {\r\n\t\t\t\tif (!Pqp.isIos()) {\r\n\t\t\t\t\tMain.that.toggleFullscreen();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tthis.mc.off(\"click\")\r\n\t\t\tTweenMax.to(this.mc, 0.5, {\r\n\t\t\t\topacity: 0,\r\n\t\t\t\tonComplete: jQuery.proxy(this.remove, this)\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tremove() {\r\n\t\tthis.mc.remove();\r\n\t\tthis.callback.call();\r\n\t}\r\n}\r\n\r\nWelcome.ENUM = 0;","import Pqp from \"../3x1010/Pqp.js\";\r\nimport Main from \"./Main.js\";\r\nexport default class Istruzioni {\r\n constructor(userLang, callback) {\r\n this.userLang = userLang;\r\n this.mc = undefined;\r\n this.callback = callback;\r\n this.canClose = false;\r\n }\r\n\r\n\r\n init(delay) {\r\n let mc = jQuery(\"#template-trix-istruzioni\").clone();\r\n mc.attr(\"id\", \"istruzioni\" + Istruzioni.ENUM++);\r\n jQuery(\".js-trix1010\").append(mc);\r\n\r\n jQuery(\".js-btn\", mc).on(\"click\", jQuery.proxy(this.dismiss, this))\r\n jQuery(\".js-btn-1\", mc).on(\"click\", jQuery.proxy(this.gotoAltraLingua, this))\r\n this.mc = mc;\r\n\r\n mc.css(\"opacity\", 0);\r\n\r\n /*for (var x = 0; x < 8; x++) {\r\n jQuery(\".js-instr\" + x, this.mc).html(Main.lbl(\"instr\" + x));\r\n }*/\r\n\r\n //console.log(this.userLang)\r\n\r\n jQuery(\".js-testoint\", this.mc).text(window.lngs[this.userLang.toLowerCase()].welcome)\r\n jQuery(\".js-btn\", this.mc).text(window.lngs[this.userLang.toLowerCase()].btnwelcome)\r\n jQuery(\".js-btn-1\", this.mc).text(window.lngs[this.userLang.toLowerCase()].btnwelcomeeng)\r\n jQuery(\".js-radar-title\").text(window.lngs[this.userLang.toLowerCase()].interactivemap)\r\n jQuery(\".js-totem-entra\").text(window.lngs[this.userLang.toLowerCase()].btnenter)\r\n\r\n if (Main.that.mobile) {\r\n jQuery(\".js-desktop\", this.mc).hide();\r\n jQuery(\".js-mobile\", this.mc).show();\r\n } else {\r\n jQuery(\".js-desktop\", this.mc).show();\r\n jQuery(\".js-mobile\", this.mc).hide();\r\n }\r\n\r\n\r\n if ((delay) && (delay > 0)) {\r\n setTimeout(jQuery.proxy(this.show, this), delay);\r\n } else {\r\n this.show();\r\n }\r\n }\r\n\r\n gotoAltraLingua() {\r\n\r\n //debugger\r\n let lng = \"it\";\r\n if (PLUNGE_SETTINGS.language.DEFAULT_LANGUAGE === \"IT\") {\r\n lng = \"en\";\r\n }\r\n\r\n //console.log(\"/\"+ lng + \"/tour/\" + PLUNGE_SETTINGS.prettyUlr)\r\n window.location.href = \"/\" + lng + \"/tour/\" + PLUNGE_SETTINGS.prettyUlr\r\n }\r\n\r\n show() {\r\n Main.sfoca(true);\r\n TweenMax.to(this.mc, 0.5, {\r\n opacity: 1,\r\n onComplete: jQuery.proxy(this.canInteract, this)\r\n });\r\n\r\n }\r\n\r\n canInteract() {\r\n this.canClose = true;\r\n }\r\n\r\n dismiss() {\r\n if (this.canClose) {\r\n if (Pqp.isMobile()) {\r\n if (!Pqp.isIos()) {\r\n let element = jQuery(\".trix1010\").get(0);\r\n element.requestFullscreen();\r\n }\r\n }\r\n\r\n\r\n this.mc.off(\"click\")\r\n Main.sfoca(false);\r\n TweenMax.to(this.mc, 0.5, {\r\n opacity: 0,\r\n onComplete: jQuery.proxy(this.remove, this)\r\n });\r\n }\r\n }\r\n\r\n remove() {\r\n this.mc.remove();\r\n this.callback.call();\r\n }\r\n}\r\n\r\nIstruzioni.ENUM = 0;","import Pqp from \"../3x1010/Pqp.js\";\r\nimport Main from \"./Main.js\";\r\nimport MappaHud from \"./MappaHud.js\";\r\nimport Scene from \"./Scene.js\";\r\nexport default class Radar {\r\n\tconstructor(userLang, callback) {\r\n\t\tthis.userLang = userLang;\r\n\t\tthis.callback = callback;\r\n\t\tthis.btn = undefined;\r\n\t\tthis.mc = undefined;\r\n\t\tthis.destroyed = false;\r\n\t}\r\n\r\n\t\r\n\r\n\tdestroy() {\r\n\t\tthis.destroyed = true;\r\n\t\tTweenMax.to(jQuery(\".js-map\", this.mc), 0.5, { css: { opacity: 0 }, onComplete: jQuery.proxy(this.mapHidden, this) });\r\n\t}\r\n\r\n\tmapHidden() {\r\n\t\tthis.mc.remove();\r\n\t\tthis.init();\r\n\t}\r\n\r\n\treset(lInstant) {\r\n\t\tif (lInstant) {\r\n\t\t\tthis.mapHidden();\r\n\t\t} else {\r\n\r\n\t\t\tthis.destroy();\r\n\t\t\tthis.destroyed = false;\r\n\t\t\t//\tthis.init();\r\n\t\t}\r\n\t}\r\n\r\n\tinit() {\r\n\t\tlet mc = jQuery(\"#template-trix-radar\").clone();\r\n\t\tmc.attr(\"id\", \"bmappra\" + Radar.ENUM++);\r\n\t\tjQuery(\".js-trix1010\").append(mc);\r\n\t\tthis.mc = mc;\r\n\t\tmc.on(\"click\", jQuery.proxy(this.openMap, this));\r\n\r\n\t\t/*let mappa = jQuery(\"#template-trix-map-hud\").clone();\r\n\t\tmappa.attr(\"id\", \"bmapphua\" + Radar.ENUM++);\r\n\t\tmc.append(mappa);*/\r\n\r\n\r\n\t\tthis.placeDots();\r\n\t\trequestAnimationFrame(jQuery.proxy(this.update, this));\r\n\r\n\t\tjQuery(\".js-map\", this.mc).css(\"opacity\", 0)\r\n\t\tTweenMax.to(jQuery(\".js-map\", this.mc), 0.5, { delay: 0.1, css: { opacity: 1 } });\r\n\r\n\t}\r\n\r\n\topenMap(lFlag) {\r\n\t\tMain.that.mappaHud.showMap();\r\n\t}\r\n\r\n\tshow(lFlag) {\r\n\t\tif (lFlag) {\r\n\t\t\tthis.mc.show();\r\n\t\t} else {\r\n\t\t\tthis.mc.hide();\r\n\t\t}\r\n\r\n\t}\r\n\r\n\r\n\tupdate() {\r\n\t\tif (!this.destroyed) {\r\n\t\t\tthis.orientaIndicatore();\r\n\t\t\trequestAnimationFrame(jQuery.proxy(this.update, this));\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tplaceDots() {\r\n\t\tlet attuale = Scene.getCurrentScene();\r\n\t\t// Piazza gli hotspot\r\n\t\tlet a = SceneList.SCENE;\r\n\t\tlet lHigh = false;\r\n\t\tlet toAppend = new Array();\r\n\t\tlet toHigh = new Array();\r\n\t\tlet row = 0;\r\n\t\tlet col = 0;\r\n\r\n\t\tfor (let x = 0; x < a.length; x++) {\r\n\t\t\t// Patcha le posizioni ancora non piazzate\r\n\t\t\tif (a[x].top == \"-1\") {\r\n\t\t\t\ta[x].patchPosx = (col * (5) + 1) + \"%\"\r\n\t\t\t\ta[x].patchPosy = (row * (5) + 5) + \"%\"\r\n\r\n\t\t\t\tcol++;\r\n\t\t\t\tif (col > 20) {\r\n\t\t\t\t\tcol = 0;\r\n\t\t\t\t\trow++;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\r\n\r\n\t\tfor (let x = 0; x < a.length; x++) {\r\n\t\t\t//if (a[x].showOnMap) {\r\n\r\n\t\t\tlet hs = jQuery(\"#template-trix-hothud\").clone();\r\n\t\t\ths.attr(\"id\", \"huhs\" + MappaHud.ENUM++);\r\n\t\t\t//jQuery(\".js-panel-hud\", mc).append(hs);\r\n\t\t\tjQuery(\".js-map\", this.mc).append(hs);\r\n\t\t\tif (a[x].patchPosx) {\r\n\t\t\t\ths.css({\r\n\t\t\t\t\ttop: a[x].patchPosy,\r\n\t\t\t\t\tleft: a[x].patchPosx\r\n\t\t\t\t});\r\n\r\n\t\t\t} else {\r\n\t\t\t\ths.css({\r\n\t\t\t\t\ttop: this.patchaPercTop(a[x].top),\r\n\t\t\t\t\tleft: this.patchaPercLeft(a[x].left)\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\t// Cerca la caption adeguata\r\n\t\t\tlet caption = a[x].caption;\r\n\t\t\tif (!a[x].showOnMap) {\r\n\t\t\t\t// cerca la caption di quello mostrato\r\n\t\t\t\tfor (let p = 0; p < a.length; p++) {\r\n\t\t\t\t\tif (a[p].area == attuale.area) {\r\n\t\t\t\t\t\tif (a[p].showOnMap) {\r\n\t\t\t\t\t\t\tcaption = a[p].caption;\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (a[x].showOnMap) { // PQPDATOGLIERE\r\n\t\t\t\tjQuery(\".js-caption\", hs).html(caption);\r\n\t\t\t} else { // PQPDATOGLIERE\r\n\t\t\t\tjQuery(\".js-caption\", hs).html(\"\"); // PQPDATOGLIERE\r\n\t\t\t} // PQPDATOGLIERE\r\n\t\t\tjQuery(\".js-orienta\", hs).hide();\r\n\r\n\t\t\ths.on(\"click\", jQuery.proxy(this.dismiss, this, {\r\n\t\t\t\tscene: a[x].spot\r\n\t\t\t}));\r\n\t\t\tif (a[x].area == attuale.area) {\r\n\t\t\t\ttoHigh.push({\r\n\t\t\t\t\tspot: a[x].spot,\r\n\t\t\t\t\tmc: hs,\r\n\t\t\t\t\tdata: a[x],\r\n\t\t\t\t\tshow: a[x].showOnMap\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tif (!a[x].showOnMap) {// PQPDATOGLIERE \r\n\t\t\t\t\ths.hide();\r\n\t\t\t\t}// PQPDATOGLIERE \r\n\t\t\t}\r\n\r\n\t\t}\r\n\t\t//}\r\n\r\n\t\t// Controlla l'highlight\r\n\t\tlet lFound = false;\r\n\t\tlet norienta = 0;\r\n\t\tfor (let x = 0; x < toHigh.length; x++) {\r\n\t\t\t//console.log(toHigh[x].spot + \" \" + attuale.spot)\r\n\t\t\tif (toHigh[x].spot == attuale.spot) {\r\n\t\t\t\ttoHigh[x].mc.addClass(\"trix-hothud-selected\");\r\n\t\t\t\tlFound = true;\r\n\t\t\t\tnorienta = x;\r\n\t\t\t} else {\r\n\t\t\t\tif (!toHigh[x].show) {\r\n\t\t\t\t\ttoHigh[x].mc.hide();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (!lFound) {\r\n\t\t\tif (toHigh.length > 0) {\r\n\t\t\t\ttoHigh[0].mc.addClass(\"trix-hothud-selected\");\r\n\t\t\t}\r\n\t\t}\r\n\t\ttoHigh[norienta].mc.css(\"z-index\", 10000);\r\n\t\tthis.indicatoremc = toHigh[norienta].mc\r\n\t\tthis.objDataIndicatore = toHigh[norienta];\r\n\t\tthis.orientaIndicatore();\r\n\t\tsetTimeout(jQuery.proxy(this.centraMappa, this), 100);\r\n\r\n\t}\r\n\r\n\tpatchaPercTop(top) {\r\n\t\tlet tmp = parseFloat(top.split(\"%\")[0]);\r\n\t\t//tmp -= 2.5;\r\n\t\treturn tmp + \"%\";\r\n\t}\r\n\tpatchaPercLeft(left) {\r\n\t\tlet tmp = parseFloat(left.split(\"%\")[0]);\r\n\t\t//tmp -= 1.7;\r\n\t\treturn tmp + \"%\";\r\n\r\n\t}\r\n\r\n\tshowIndicatore(indicatore) {\r\n\t\tindicatore.css(\"opacity\", 1)\r\n\t\tthis.stopUpdate = false;\r\n\t}\r\n\r\n\r\n\torientaIndicatore() {\r\n\t\tif (this.stopUpdate) {\r\n\t\t\treturn\r\n\t\t}\r\n\t\tlet mc = this.indicatoremc;\r\n\t\tlet o = this.objDataIndicatore;\r\n\t\tlet indicatore = jQuery(\".js-orienta\", mc)\r\n\t\tindicatore.show();\r\n\t\tindicatore.css(\"opacity\", 0);\r\n\t\tif (this.currentRoom != Scene.getCurrentScene().spot) {\r\n\t\t\tthis.currentRoom = Scene.getCurrentScene().spot;\r\n\t\t\tsetTimeout(this.showIndicatore.bind(this, indicatore), 500);\r\n\t\t\tthis.stopUpdate = true;\r\n\t\t\treturn\r\n\t\t} else {\r\n\t\t\tindicatore.css(\"opacity\", 1);\r\n\t\t}\r\n\t\t\r\n\t\t//let original = Main.that.getOrientamentoBySceneName(\"scene0\");\r\n\t\tlet original = { prealign: \"0|0|0\" };//this.getOrientamentoBySceneName(\"scene0\");\r\n\t\tlet current = Main.that.getOrientamentoBySceneName(Scene.getCurrentScene().name);\r\n\t\tlet spanOriginal = parseFloat(original.prealign.split(\"|\")[1]);\r\n\t\tlet spanCurrent = parseFloat(current.prealign.split(\"|\")[1]);\r\n\t\t//console.log(\"-----------\")\t\r\n\r\n\t\tlet dif = spanOriginal - spanCurrent;\r\n\t\t//console.log(\"Dif: \" + dif);\r\n\t\t//console.log(spanOriginal, spanCurrent);\r\n\t\tlet view = Main.that.pano.get(\"view\");\r\n\t\tlet curAngle = view.hlookat\r\n\t\tlet adjust = Math.floor(Math.abs(view.hlookat / 360));\r\n\r\n\t\tif (curAngle < 0) {\r\n\t\t\tcurAngle += adjust * 360;\r\n\t\t} else {\r\n\t\t\tcurAngle -= adjust * 360;\r\n\t\t}\r\n\r\n\t\t/*\r\n\t\tconsole.log(view.hlookat);\r\n\t\tconsole.log(adjust)\r\n\t\tconsole.log(curAngle);\r\n\t\t*/\r\n\r\n\t\t//let endAngle = dif - curAngle + 90\r\n\r\n\t\t//endAngle = curAngle;\r\n\t\tlet sfaso = PLUNGE_SETTINGS.customs.angle_span;\r\n\t\tif (!Pqp.isNullOrEmpty(o.data.adjustAngle)) {\r\n\t\t\tsfaso = o.data.adjustAngle;\r\n\t\t}\r\n\r\n\t\tlet value = curAngle\r\n\t\tvalue += sfaso;\r\n\t\t//value += PLUNGE_SETTINGS.customs.angle_span;\r\n\t\tvalue -= dif;\r\n\t\tindicatore.css(\"transform\", \"rotate(\" + value + \"deg)\");\r\n\r\n\r\n\t};\r\n\r\n\tcentraMappa() {\r\n\t\tlet coord = this.indicatoremc.position();\r\n\t\t//console.log(coord);\r\n\t\t//console.log();\r\n\t\tlet sh = Math.floor(this.mc.height() / 2);\r\n\t\tlet sw = Math.floor(this.mc.width() / 2);\r\n\r\n\t\tlet mcw = Math.floor(this.indicatoremc.width() / 2);\r\n\t\tlet mch = Math.floor(this.indicatoremc.height() / 2);\r\n\r\n\t\tjQuery(\".js-map\").css(\"left\", -coord.left - mcw + sw);\r\n\t\tjQuery(\".js-map\").css(\"top\", -coord.top - mch + sh);\r\n\r\n\t};\r\n\r\n}\r\nRadar.ENUM = 0;","import Main from \"./Main.js\";\r\nimport Scene from \"./Scene.js\";\r\nimport Pqp from \"../3x1010/Pqp.js\";\r\nexport default class Wgallery {\r\n\tconstructor(hs, parms, ct) {\r\n\t\tthis.hs = hs;\r\n\t\tthis.ct = ct;\r\n\t\tthis.parms = parms;\r\n\t\tthis.htocheck = new Array();\r\n\t\tthis.startSlide = -1;\r\n\t\tthis.videos = new Array();\r\n\t\tthis.checkH = 0;\r\n\t\tthis.startSlide = Pqp.isNullOrEmpty(parms.parm) ? -1 : parms.parm;\r\n\t}\r\n\r\n\tinit() {\r\n\t\tMain.debugTrace(\"Hotspot Wgallery: \" + this.hs.name);\r\n\t\t//Main.alert(\"ATTENZIONE!\",\"Questo hotspot '\"+this.hs.name+\"' รจ di tipo 'gallery' ma la gallery non รจ ancora stata implementata.\")\r\n\t\tthis.gatherItems();\r\n//\t\tjQuery(window).on(\"resize.gal\", jQuery.proxy(this.precheckHtocheck, this));\r\n\t}\r\n\r\n\tgatherItems() {\r\n\t\t// In base al template recupera gli items\r\n\t\tlet items;\r\n\t\tif (this.hs.template == Wgallery.T_STANDARD) {\r\n\t\t\titems = this.gatherFromIdGallery();\r\n\t\t} else if (this.hs.template == Wgallery.T_MULTIPLA) {\r\n\t\t\titems = this.gatherFromIdGallery();\r\n\t\t} else if (this.hs.template == Wgallery.T_POSTERS) {\r\n\t\t\titems = this.gatherFromIdGallery();\r\n\t\t} else {\r\n\t\t\tMain.alert(\"ATTENZIONE!\", \"Questo hotspot '\" + this.hs.name + \"' ha un tipo di template non riconosciuto: '\" + this.hs.template + \"'.\");\r\n\t\t\treturn\r\n\t\t}\r\n\r\n\r\n\t\tlet lOk = true;\r\n\t\tfor (var x = 0; x < items.length; x++) {\r\n\t\t\tif (items[x].type == Wgallery.ITEM_QUADRATO) {\r\n\t\t\t\tif (items[x].img == \"\") {\r\n\t\t\t\t\t//console.log(x)\r\n\t\t\t\t\tlOk = false;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (items[x].type == Wgallery.ITEM_HRETTANGOLO) {\r\n\t\t\t\tif (items[x].img == \"\") {\r\n\t\t\t\t\t//console.log(x)\r\n\t\t\t\t\tlOk = false;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (items[x].type == Wgallery.ITEM_YT) {\r\n\t\t\t\tif (items[x][\"yt_\" + Main.that.userLang.toLowerCase()] == \"\") {\r\n\t\t\t\t\t//console.log(x)\r\n\t\t\t\t\tlOk = false;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (items[x].type == Wgallery.ITEM_VRETTANGOLO) {\r\n\t\t\t\tif (items[x].img == \"\") {\r\n\t\t\t\t\t//console.log(x)\r\n\t\t\t\t\tlOk = false;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t}\r\n\t\t//console.log(lOk,x)\r\n\t\tif (!lOk) {\r\n\t\t\tMain.alert(\"ATTENZIONE!\", \"Questo hotspot '\" + this.hs.name + \"' dovrebbe aprire una gallery ma i dati per gestirla non sono stati inseriti correttamente sui fogli di google, indice nella gallery (parte da 0): \" + x);\r\n\t\t\treturn\r\n\r\n\t\t}\r\n\r\n\t\tif (items.length > 0) {\r\n\t\t\tthis.buildGallery(items);\r\n\t\t} else {\r\n\t\t\t//console.log(\"uhm errore in gallery\")\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tgatherFromIdGallery() {\r\n\t\tlet ret = new Array()\r\n\t\t//let a = this.hs.InfoJson.iframe_url.split(\"ยง\")\r\n\t\t//console.log(this.hs.InfoJson.iframe_url)\r\n\t\tlet a = this.hs.InfoJson[\"gallitems_\" + this.parms.language.toLowerCase()].rows;\r\n\r\n\t\tfor (let x = 0; x < a.length; x++) {\r\n\t\t\tlet o = {};\r\n\t\t\t/* o.type = Wgallery.ITEM_HRETTANGOLO;\r\n\t\t\tlet tmp = a[x].split(\"|\");\r\n\t\t\tlet imag = tmp[0];\r\n\t\t\tif (imag.indexOf(\"[v]\") >= 0) {\r\n\t\t\t\to.type = Wgallery.ITEM_VRETTANGOLO;\r\n\t\t\t\timag = Pqp.safeReplace(imag, \"[v]\", \"\");\r\n\t\t\t}\r\n\t\t\tif (imag.indexOf(\"[h]\") >= 0) {\r\n\t\t\t\to.type = Wgallery.ITEM_HRETTANGOLO;\r\n\t\t\t\timag = Pqp.safeReplace(imag, \"[h]\", \"\");\r\n\t\t\t}\r\n\t\t\to.img = imag;\r\n\t\t\to.text = tmp[1];*/\r\n\t\t\to.type = a[x].template;\r\n\t\t\to.img = a[x].image;\r\n\t\t\to.title = a[x].title\r\n\t\t\to.footer = a[x].footer\r\n\t\t\to.text = a[x].description\r\n\r\n\t\t\tret.push(o)\r\n\t\t}\r\n\r\n\r\n\t\treturn ret;\r\n\r\n\t\t/*let items = new Array();\r\n\t\tlet id = this.hs.gruppo;\r\n\t\tlet a = SceneList.SCENE;\r\n\t\r\n\t\tfor (let x = 0; x < a.length; x++) {\r\n\t\t\tlet scene = a[x];\r\n\t\t\tif (scene.hotspots) {\r\n\t\t\t\tfor (let y = 0; y < scene.hotspots.length; y++) {\r\n\t\t\t\t\tif (scene.hotspots[y].gruppo) {\r\n\t\t\t\t\t\tif (scene.hotspots[y].gruppo.toLowerCase() == id.toLowerCase()) {\r\n\t\t\t\t\t\t\titems.push(scene.hotspots[y]);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn items;*/\r\n\r\n\t}\r\n\r\n\tbuildGallery(items) {\r\n\t\t//debugger\r\n\t\tconsole.log(this.parms)\r\n\t\tlet mc = jQuery(\"#\" + this.hs.InfoJson.galltemplate).clone();\r\n\t\t//debugger\r\n\t\tif (this.hs.tipo === \"gallery_special\") {\r\n\t\t\tlet nomegal = this.hs.InfoJson.galltemplate.split(\"_\")[0];\r\n\t\t\tmc = jQuery(\"#\"+nomegal).clone();\r\n }\r\n\r\n\r\n\t\t//debugger\r\n\t\tMain.sfoca(true);\r\n\t\tMain.showInterface(false);\r\n\t\t\r\n\t\tmc.attr(\"id\", \"tgal\" + Wgallery.ENUM++);\r\n\t\tjQuery(\".js-trix1010\").append(mc);\r\n\t\tthis.mc = mc;\r\n\t\tfor (let x = 0; x < items.length; x++) {\r\n\t\t\tif (items[x].name == this.hs.name) {\r\n\t\t\t\tif (this.startSlide == -1) {\r\n\t\t\t\t\tthis.startSlide = x;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (items[x].type == Wgallery.ITEM_QUADRATO) {\r\n\t\t\t\tthis.buildItemQuadrato(items[x]);\r\n\t\t\t}\r\n\t\t\tif (items[x].type == Wgallery.ITEM_HRETTANGOLO) {\r\n\t\t\t\t//this.buildItemHRettangolo(items[x]);\r\n\t\t\t\tthis.buildItemOrizzontale(items[x]);\r\n\t\t\t}\r\n\t\t\tif (items[x].type == Wgallery.ITEM_YT) {\r\n\t\t\t\tthis.buildItemYt(items[x], x);\r\n\t\t\t}\r\n\t\t\tif (items[x].type == Wgallery.ITEM_VRETTANGOLO) {\r\n\t\t\t\t//this.buildItemVRettangolo(items[x]);\r\n\t\t\t\tthis.buildItemVerticale(items[x]);\r\n\t\t\t}\r\n\t\t\tif (items[x].type == Wgallery.ITEM_TOTEM) {\r\n\t\t\t\t//this.buildItemVRettangolo(items[x]);\r\n\t\t\t\tthis.buildItemTotem(items[x]);\r\n\t\t\t}\r\n\t\t\tif (items[x].type == Wgallery.ITEM_ANNO) {\r\n\t\t\t\t//this.buildItemVRettangolo(items[x]);\r\n\t\t\t\tthis.buildItemAnno(items[x]);\r\n\t\t\t}\r\n\t\t\tif (items[x].type == Wgallery.ITEM_PHOTO) {\r\n\t\t\t\t//this.buildItemVRettangolo(items[x]);\r\n\t\t\t\tthis.buildItemPhoto(items[x]);\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t\tif (this.startSlide == -1) {\r\n\t\t\tthis.startSlide = 0;\r\n\t\t}\r\n\t\t//Main.setUrl(Scene.getCurrentScene().name, this.hs.Uid + \"|\" + this.startSlide, null)\r\n\r\n\t\tjQuery(\".js-close-frame\", mc).on(\"click\", jQuery.proxy(this.closeFrame, this));\r\n\t\tjQuery(\".swiper-container\", this.mc).addClass(\"je-suis-swiper\")\r\n\r\n\t\tthis.swiper = new Swiper('.je-suis-swiper', {\r\n\t\t\tnavigation: {\r\n\t\t\t\tnextEl: '.swiper-btn-next',\r\n\t\t\t\tprevEl: '.swiper-btn-prev'\r\n\t\t\t},\r\n\t\t\ton: {\r\n\t\t\t\t\"slideChange\": jQuery.proxy(this.slideChanged, this)\r\n\t\t\t},\r\n\t\t\tinitialSlide: this.startSlide,\r\n\t\t\tpreloadImages: false,\r\n\t\t\t// Enable lazy loading\r\n\t\t\tlazy: true\r\n\t\t});\r\n\t\t//console.log(this.swiper)\r\n\r\n\t\tthis.checkH = 0;\r\n\t\tclearTimeout(this.idcheck);\r\n\t\t//this.idcheck = setTimeout(jQuery.proxy(this.checkHtocheck, this), 100);\r\n\t\tthis.slideChanged();\r\n\r\n\t\tjQuery(window).on(\"resize.gl\", this.setH.bind(this))\r\n\t\tthis.setH();\r\n\r\n\t\tjQuery(\".js-totem-entra\",this.mc).on(\"click\",this.onGotoSection.bind(this))\r\n\r\n\r\n\t}\r\n\r\n\tonGotoSection() {\r\n\t\tthis.closeFrame();\r\n\t\tlet dest = this.hs.InfoJson.galltemplate.split(\"_\")[1];\r\n\t\tScene.gotoScene(\"\" + dest);\r\n }\r\n\r\n\r\n\tsetH() {\r\n\t\t\r\n\t\tjQuery(\".js-set-h\", this.mc).height(jQuery(\".js-ref\", this.mc).height());\r\n\t\tjQuery(\".js-border\", this.mc).hide();\r\n\t\tsetTimeout(this.moveBorder.bind(this),50);\r\n\t\t\r\n\t}\r\n\tmoveBorder() {\r\n\t\ttry {\r\n\t\t\tlet w = jQuery(\".js-content\", this.mc).offset().left - jQuery(\".js-ref\", this.mc).position().left + jQuery(\".js-content\", this.mc).width() - 12;\r\n\t\t\tjQuery(\".js-border\", this.mc).show();\r\n\t\t\tjQuery(\".js-border\", this.mc).css({ left: w });\r\n\t\t} catch (e) {\r\n\t\t\tsetTimeout(this.moveBorder.bind(this), 50);\r\n }\r\n\r\n }\r\n\r\n\tslideChanged(e) {\r\n\t\tif (this.swiper) {\r\n\t\t\t//Main.setUrl(Scene.getCurrentScene().name, this.hs.Uid + \"|\" + this.swiper.activeIndex, null)\r\n\t\t\tjQuery(\".to-remove\", this.mc).remove();\r\n\t\t\tfor (var x = 0; x < this.videos.length; x++) {\r\n\t\t\t\tif (this.videos[x].index == this.swiper.activeIndex) {\r\n\t\t\t\t\tthis.createIFrame(this.videos[x].item, this.videos[x].clip)\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tcloseFrame(e) {\r\n\t\tjQuery(window).off(\"resize.gl\");\r\n\t\tthis.mc.remove();\r\n\t\tMain.showInterface(true);\r\n\t\tMain.sfoca(false);\r\n\t\t//Main.setUrl(Scene.getCurrentScene().name, null, null);\r\n\t}\r\n\r\n\tbuildItemQuadrato(item) {\r\n\t\tlet clip = jQuery(\"#template-item-gallery-quadrato\").clone();\r\n\t\tclip.attr(\"id\", \"trix-item\" + Wgallery.ENUM++);\r\n\t\tjQuery(\".js-trix-panel\", this.mc).append(clip);\r\n\t\t//jQuery(\".js-image\", clip).attr(\"data-background\", \"\" + PLUNGE_SETTINGS.paths.BASE_URL + \"assets/galleries/\" + item.img);\r\n\t\tjQuery(\".js-image\", clip).attr(\"data-background\", item.img);\r\n\t\tjQuery(\".js-title-item\", clip).html(item[\"title_\" + Main.that.userLang.toLowerCase()]);\r\n\t\tjQuery(\".js-desc-item\", clip).html(item[\"desc_\" + Main.that.userLang.toLowerCase()]);\r\n\t}\r\n\r\n\tbuildItemHRettangolo(item) {\r\n\t\tlet clip = jQuery(\"#template-item-gallery-hrettangolo\").clone();\r\n\t\tclip.attr(\"id\", \"trix-item\" + Wgallery.ENUM++);\r\n\t\tjQuery(\".js-trix-panel\", this.mc).append(clip);\r\n\t\t//jQuery(\".js-image\", clip).attr(\"data-background\", \"\" + PLUNGE_SETTINGS.paths.BASE_URL + \"assets/galleries/\" + item.img);\r\n\t\tjQuery(\".js-image\", clip).attr(\"data-background\", item.img);\r\n\t\t//console.log(item)\r\n\t\tlet title = item[\"title_\" + Main.that.userLang.toLowerCase()];\r\n\t\tlet desc = item.text;// item[\"desc_\" + Main.that.userLang.toLowerCase()];\r\n\t\ttitle = title ? title : \"\";\r\n\t\tdesc = desc ? desc : \"\";\r\n\r\n\t\tif ((title == \"\") && (desc == \"\")) {\r\n\t\t\tjQuery(\".js-wrapper-title-text\", clip).hide();\r\n\t\t} else if ((title != \"\") && (desc != \"\")) {\r\n\r\n\t\t} else {\r\n\t\t\tjQuery(\".js-divisore\", clip).hide();\r\n\t\t}\r\n\t\tjQuery(\".js-title-item\", clip).html(title);\r\n\t\tjQuery(\".js-desc-item\", clip).html(desc);\r\n\t}\r\n\r\n\tbuildItemYt(item, index) {\r\n\t\tlet clip = jQuery(\"#template-item-gallery-yt\").clone();\r\n\t\tclip.attr(\"id\", \"trix-item\" + Wgallery.ENUM++);\r\n\t\tjQuery(\".js-trix-panel\", this.mc).append(clip);\r\n\r\n\t\tlet title = item[\"title_\" + Main.that.userLang.toLowerCase()];\r\n\t\tlet desc = item.text;// item[\"desc_\" + Main.that.userLang.toLowerCase()];\r\n\t\tif ((title == \"\") && (desc == \"\")) {\r\n\t\t\tjQuery(\".js-wrapper-title-text\", clip).hide();\r\n\t\t} else if ((title != \"\") && (desc != \"\")) {\r\n\r\n\r\n\t\t} else {\r\n\t\t\tjQuery(\".js-divisore\", clip).hide();\r\n\t\t}\r\n\t\tjQuery(\".js-title-item\", clip).html(title);\r\n\t\tjQuery(\".js-desc-item\", clip).html(desc);\r\n\r\n\t\tthis.videos.push({\r\n\t\t\tindex: index,\r\n\t\t\tclip: clip,\r\n\t\t\titem: item\r\n\t\t});\r\n\t}\r\n\r\n\tcreateIFrame(item, clip) {\r\n\t\tjQuery(\".to-remove\", this.mc).remove();\r\n\t\tlet iframe = jQuery(\" jQuery(\".js-trix1010\").height()) {\r\n\t\t\t\tw--;\r\n\t\t\t} else {\r\n\t\t\t\tlCondExit = true;\r\n\t\t\t}\r\n\t\t\tsafe++;\r\n\t\t\tif (safe == 30) {\r\n\t\t\t\tlCondExit = true;\r\n\t\t\t}\r\n\t\t}\r\n\t\tconsole.log(w)\r\n\t\tlet h = jQuery(\".js-trix1010\").height();\r\n\t\tlet pad = (h - clip.height()) / 2;\r\n\t\tclip.css(\"padding-top\",pad)\r\n\r\n\r\n\t}\r\n}\r\n\r\nWgallery.ENUM = 0;\r\nWgallery.T_STANDARD = \"standard\";\r\nWgallery.T_MULTIPLA = \"multipla\";\r\nWgallery.T_POSTERS = \"poster\";\r\n\r\nWgallery.ITEM_QUADRATO = \"quadrato\";\r\nWgallery.ITEM_HRETTANGOLO = \"hrettangolo\";\r\nWgallery.ITEM_YT = \"yt\";\r\nWgallery.ITEM_VRETTANGOLO = \"vrettangol1o\";\r\nWgallery.ITEM_TOTEM = \"template-trix-totem-entry\";\r\nWgallery.ITEM_ANNO = \"template-trix-anno-entry\";\r\nWgallery.ITEM_PHOTO = \"vrettangolo\";\r\n","import Main from \"./Main.js\";\r\nimport Scene from \"./Scene.js\";\r\nexport default class WinfoImage {\r\n\r\n\tconstructor(hs, parms, callback) {\r\n\t\tthis.hs = hs;\r\n\t\tthis.parms = parms;\r\n\t\tthis.callback = callback;\r\n\t}\r\n\r\n\tinit() {\r\n\t\tMain.debugTrace(\"Hotspot Winfoimage: \" + this.hs.name);\r\n\t\tconsole.log(this.hs);\r\n\t\t// apre il layer con l'iframe\r\n\t\tMain.sfoca(true);\r\n\t\tMain.showInterface(false);\r\n\t\tlet mc = jQuery(\"#template-trix-infoimage\").clone();\r\n\t\tmc.attr(\"id\", \"tgal\" + WinfoImage.ENUM++);\r\n\t\tjQuery(\".js-trix1010\").append(mc);\r\n\t\tthis.mc = mc;\r\n\r\n\t\tjQuery(\".js-close-frame\", mc).on(\"click\", jQuery.proxy(this.closeFrame, this));\r\n\r\n\t\tlet a = this.hs.InfoJson.iframe_url.split(\"|\");\r\n\t\tconsole.log(this.hs.InfoJson.iframe_url.split(\"|\"));\r\n\t\tjQuery(\".js-image\", mc).css(\"background-image\", \"url('\" + a[0] + \"')\")\r\n\t\tjQuery(\".js-desc-item\", mc).html(a[1]);\r\n\t\t//Main.setUrl(Scene.getCurrentScene().name, this.hs.Uid, null)\r\n\t}\r\n\r\n\tcloseFrame(e) {\r\n\t\tthis.mc.remove();\r\n\t\tMain.showInterface(true);\r\n\t\tMain.sfoca(false);\r\n\t\t//Main.setUrl(Scene.getCurrentScene().name, null, null);\r\n\t}\r\n\r\n}\r\n\r\nWinfoImage.ENUM = 0;","import Main from \"./Main.js\";\r\nimport Scene from \"./Scene.js\";\r\nexport default class Wyt {\r\n\r\n\tconstructor(hs, parms, callback) {\r\n\t\tthis.hs = hs;\r\n\t\tthis.parms = parms;\r\n\t\tthis.callback = callback;\r\n\t}\r\n\r\n\r\n\tinit() {\r\n\t\tMain.debugTrace(\"Hotspot Wyt: \" + this.hs.name);\r\n\t\t// apre il layer con l'iframe\r\n\t\tlet mc = jQuery(\"#template-trix-iframe\").clone();\r\n\t\tmc.attr(\"id\", \"ifrax\" + Wyt.ENUM++);\r\n\t\tjQuery(\".js-trix1010\").append(mc);\r\n\t\tjQuery(\".js-close-frame\", mc).on(\"click\", jQuery.proxy(this.closeFrame, this));\r\n\t\tthis.mc = mc;\r\n\t\tthis.dispatch({\r\n\t\t\ttype: Main.HS_EVENT_HIDE_INTERFACE\r\n\t\t});\r\n\t\tthis.createYt();\r\n\t\t//Main.setUrl(Scene.getCurrentScene().name, this.hs.Uid, null)\r\n\t}\r\n\r\n\tcloseFrame(e) {\r\n\t\tthis.mc.remove();\r\n\t\tthis.dispatch({\r\n\t\t\ttype: Main.HS_EVENT_SHOW_INTERFACE\r\n\t\t});\r\n\t\t//Main.setUrl(Scene.getCurrentScene().name, null, null);\r\n\t}\r\n\r\n\tdispatch(e) {\r\n\t\tthis.callback.call(null, e);\r\n\t}\r\n\r\n\tcreateYt(e) {\r\n\r\n\t\tlet iframe = jQuery(\"= 0) {\r\n\t\t\t\tjQuery(window).on(\"resize.ifr\", jQuery.proxy(this.precheckHtocheck, this));\r\n\t\t\t\t//this.idres = setTimeout(jQuery.proxy(this.fitFrame,this),100);\r\n\t\t\t\tthis.precheckHtocheck();\r\n\t\t\t}\r\n\r\n\t\t}\r\n\t}\r\n\tprecheckHtocheck() {\r\n\t\tthis.checkH = 0\r\n\t\tclearTimeout(this.idres);\r\n\t\tthis.idres = setTimeout(jQuery.proxy(this.checkHtocheck, this), 100)\r\n\t}\r\n\r\n\tcheckHtocheck() {\r\n\t\tthis.fitFrame();\r\n\t\tclearTimeout(this.idcheck);\r\n\t\tif (this.checkH < 3) {\r\n\t\t\t//console.log(\"CHECK\")\r\n\t\t\tthis.checkH++;\r\n\t\t\tthis.idcheck = setTimeout(jQuery.proxy(this.checkHtocheck, this), 200);\r\n\t\t}\r\n\r\n\t}\r\n\r\n\r\n\tfitFrame() {\r\n\t\tlet lCondExit = false;\r\n\t\tlet safe = 0;\r\n\t\tlet w = 90;\r\n\t\tlet clip = jQuery(\".js-trix-content\", this.mc);\r\n\t\t//console.log(clip.length)\r\n\r\n\t\twhile (!lCondExit) {\r\n\t\t\tclip.css(\"width\", w + \"%\");\r\n\t\t\t//console.log(clip.height()+ \" \" + (jQuery(\".js-trix1010\").height()-20))\r\n\t\t\tif (clip.height() > jQuery(\".js-trix1010\").height() - 20) {\r\n\t\t\t\tw--;\r\n\t\t\t} else {\r\n\t\t\t\tlCondExit = true;\r\n\t\t\t}\r\n\t\t\tsafe++;\r\n\t\t\tif (safe == 50) {\r\n\t\t\t\tlCondExit = true;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t}\r\n}\r\nWiframe.ENUM = 0;","import Main from \"./Main.js\";\r\nimport Scene from \"./Scene.js\";\r\nexport default class Wcustom {\r\n\r\n constructor(hs, parms, ct, lDaFuori) {\r\n this.hs = hs;\r\n this.ct = ct;\r\n this.parms = parms;\r\n this.clips = new Array();\r\n this.lDaFuori = lDaFuori;\r\n\r\n }\r\n\r\n init() {\r\n /*let track = new Object();\r\n track.action = \"clicked-hotspot\";\r\n track.hotspot = this.hs.kind\r\n track.testo_it = this.hs.testo_it\r\n //console.log(this.hs)\r\n Main.tracking(track);*/\r\n if (this.hs.tipo == \"linkext\") {\r\n if (this.lDaFuori) {\r\n setTimeout(jQuery.proxy(this.openWindow, this), 1000);\r\n } else {\r\n this.openWindow();\r\n }\r\n } else {\r\n if ((this.hs.tipo == \"scendigiuqui\") || (this.hs.tipo == \"salisuqui\") || (this.hs.tipo == \"enter\") || (this.hs.tipo == \"exit\") || (this.hs.tipo == \"goon\") || (this.hs.tipo == \"arrow_down_left\") || (this.hs.tipo == \"arrow_down_right\") || (this.hs.tipo == \"arrow_up_left\") || (this.hs.tipo == \"arrow_up_right\")) {\r\n Scene.gotoScene(\"\" + this.hs.InfoJson.destination);\r\n } else {\r\n document.location.href = this.hs.InfoJson[\"url_\" + this.parms.language.toLowerCase()];\r\n }\r\n }\r\n }\r\n\r\n\r\n openWindow() {\r\n window.open(this.hs.InfoJson[\"url_\" + this.parms.language.toLowerCase()], \"_blank\")\r\n }\r\n\r\n}\r\nWcustom.ENUM = 0;","import Main from \"./Main.js\";\r\nimport Scene from \"./Scene.js\";\r\n\r\nexport default class AddHotspot {\r\n\tconstructor(callback, payload) {\r\n\t\tthis.callback = callback;\r\n\t\tthis.payload = payload;\r\n\t}\r\n\r\n\r\n\tinit() {\r\n\t\t//console.log(\"AddHotspot\")\r\n\t\t// apre il layer con l'iframe\r\n\t\tlet mc = jQuery(\"#template-add-hotspot\").clone();\r\n\t\tmc.attr(\"id\", \"ifadd\" + AddHotspot.ENUM++);\r\n\t\tjQuery(\".js-trix1010\").append(mc);\r\n\t\tjQuery(\".js-close-frame\", mc).on(\"click\", jQuery.proxy(this.closeFrame, this, false));\r\n\t\tthis.mc = mc;\r\n\t\tthis.createAlert();\r\n\t\tMain.showInterface(false);\r\n\r\n\t}\r\n\r\n\tcloseFrame(lAdded, e) {\r\n\t\tthis.mc.remove();\r\n\t\tMain.showInterface(true);\r\n\t\tMain.sfoca(false);\r\n\t\tthis.callback.call(null, lAdded);\r\n\t}\r\n\r\n\tcreateAlert() {\r\n\t\tMain.sfoca(true);\r\n\t\tlet content = jQuery(\".js-trix-content\", this.mc);\r\n\t\tjQuery(\".js-image-hs\", this.mc).attr(\"src\", this.payload.bd);\r\n\t\tjQuery(\".js-btn-aggiungi\", this.mc).on(\"click\", jQuery.proxy(this.clickedAggiungi, this));\r\n\t\tjQuery(\".js-note\", this.mc).on(\"change propertychange input paste blur\", jQuery.proxy(this.checkSubmit, this));\r\n\t\tthis.checkSubmit();\r\n\t}\r\n\r\n\tcheckSubmit() {\r\n\t\tlet note = jQuery(\".js-note\", this.mc).val();\r\n\t\tif (jQuery.trim(note) == \"\") {\r\n\t\t\tjQuery(\".js-btn-aggiungi\", this.mc).css({ opacity: 0.5, \"pointer-events\": \"none\" })\r\n\t\t} else {\r\n\t\t\tjQuery(\".js-btn-aggiungi\", this.mc).css({ opacity: 1, \"pointer-events\": \"all\" })\r\n\t\t}\r\n\t}\r\n\tclickedAggiungi() {\r\n\t\tlet tipo = jQuery(\".js-tipo\", this.mc).val();\r\n\t\tlet note = jQuery(\".js-note\", this.mc).val();\r\n\t\tlet datiForm = {};\r\n\t\tlet scene = Scene.getCurrentScene();\r\n\t\tlet tmp = tipo.split(\"|\");\r\n\t\tdatiForm.scene = scene.name;\r\n\t\tdatiForm.tipo = tmp[0];\r\n\t\tdatiForm.Nome = note;\r\n\t\tdatiForm.attiva = true;\r\n\t\tdatiForm.ath = this.payload.ath;\r\n\t\tdatiForm.atv = this.payload.atv - AddHotspot.COSTANTE_VERTICALE;\r\n\t\tdatiForm.bitmap = this.payload.bd;\r\n\t\tdatiForm.InfoJson = { hlookat: this.payload.hlookat, vlookat: this.payload.vlookat };\r\n\t\t// datiForm.kind = tmp[1];\r\n\t\tjQuery(\".js-btn-aggiungi\", this.mc).css(\"opacity\", 0.2);\r\n\t\tjQuery(\".js-btn-aggiungi\", this.mc).css(\"pointer-events\", \"none\");\r\n\t\tjQuery(\".js-disabler\").show();\r\n\t\tjQuery(\".js-invio\").show();\r\n\t\tjQuery(\".js-error\").hide();\r\n\r\n\r\n\t\ttry {\r\n\t\t\twindow.parent._hotSpotCmsHandler(\"save\", datiForm, jQuery.proxy(this.onSendFormResponseError, this))\r\n\t\t} catch (e) {\r\n\t\t\tconsole.log(\"SALVO HOTSPOT\")\r\n\t\t\tconsole.log(datiForm);\r\n\t\t\tsetTimeout(jQuery.proxy(this.onSendFormResponseError, this, false), 200);\r\n\t\t}\r\n\r\n\r\n\t\t/*\r\n\t\t$.ajax({\r\n\t\t\ttype: \"POST\",\r\n\t\t\turl: \"/rest/add.hotspot\",\r\n\t\t\tdata: datiForm,\r\n\t\t\tdataType: \"json\",\r\n\t\t\tcomplete: jQuery.proxy(this.onSendFormResponse, this)\r\n\t\t});\r\n\t\t*/\r\n\t}\r\n\r\n\tonSendFormResponseError(bSuccess) {\r\n\t\tjQuery(\".js-error\").show();\r\n\t\tjQuery(\".js-btn-aggiungi\", this.mc).css(\"opacity\", 1);\r\n\t\tjQuery(\".js-btn-aggiungi\", this.mc).css(\"pointer-events\", \"all\");\r\n\t\tjQuery(\".js-disabler\").hide();\r\n\t\tjQuery(\".js-invio\").hide();\r\n\r\n\t\t/*\r\n\t\tvar rs = response ? response.responseJSON : { Success: false, error: \"Server.ERROR\", error_description: \"\", error_fatal: \"\", error_reason: \"\" };\r\n\t\r\n\t\trs.Success = true;\r\n\t\r\n\t\tif (rs.Success) {\r\n\t\t\tthis.closeFrame(true, null);\r\n\t\t} else {\r\n\t\t\tjQuery(\".js-error\").show();\r\n\t\t}\r\n\t\t*/\r\n\t}\r\n\r\n}\r\nAddHotspot.ENUM = 0;\r\nAddHotspot.COSTANTE_VERTICALE = 2.4;\r\n","export default class SoundSingle {\r\n\tconstructor(sounder, id, path, callback) {\r\n\t\tthis.id = id;\r\n\t\tthis.path = path;\r\n\t\tthis.callback = callback;\r\n\t\tthis.ready = false;\r\n\t\tthis.isPreloading = false;\r\n\t\tthis.isPlaying = false;\r\n\t\tthis.instances = new Array();\r\n\t\tthis.counterID = 0;\r\n\t\tthis.sounder = sounder;\r\n\t\tthis.garbage = new Array();\r\n\t}\r\n\r\n\r\n\tpreload() {\r\n\t\tcreatejs.Sound.alternateExtensions = [\"mp3\"];\r\n\t\tthis.queue = new createjs.LoadQueue(false);\r\n\t\tthis.queue.installPlugin(createjs.Sound);\r\n\t\tthis.queue.addEventListener(\"fileload\", jQuery.proxy(this.singlePreloaded, this));\r\n\t\tvar a = new Array({ id: this.id, src: this.path });\r\n\t\tthis.queue.loadManifest(a);\r\n\t}\r\n\r\n\tsinglePreloaded(e) {\r\n\t\tthis.isPreloading = false;\r\n\t\tthis.ready = true;\r\n\t\tthis.callback.call(null, SoundSingle.PRELOAD_COMPLETE, this);\r\n\t}\r\n\r\n\tplay(lOneInstance, fadeIn) {\r\n\t\tif (!this.ready) {\r\n\t\t\tconsole.log(\"Warning: sound \" + this.id + \" not already preloaded!\");\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (lOneInstance) {\r\n\t\t\tif (!this.isPlaying) {\r\n\t\t\t\tthis.doPlaySound(fadeIn);\r\n\t\t\t} else {\r\n\t\t\t\t// console.log(\"Warning: sound \" + this.id + \" already playing!\");\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tthis.doPlaySound(fadeIn);\r\n\t\t}\r\n\t}\r\n\r\n\tdoPlaySound(fadeIn) {\r\n\t\tvar sndTmp\r\n\t\tthis.isPlaying = true;\r\n\t\tsndTmp = createjs.Sound.play(this.id);\r\n\t\tsndTmp.intID = this.counterID++;\r\n\t\tsndTmp.addEventListener(\"complete\", jQuery.proxy(this.endSound, this, sndTmp));\r\n\t\tthis.instances.push(sndTmp);\r\n\t\tif (fadeIn) {\r\n\t\t\tthis.doFadeIn(sndTmp);\r\n\t\t}\r\n\t}\r\n\r\n\tendSound(sndTmp) {\r\n\t\tvar a = new Array();\r\n\t\tfor (var x = 0; x < this.instances.length; x++) {\r\n\t\t\tvar snd = this.instances[x];\r\n\t\t\tif (snd.intID != sndTmp.intID) {\r\n\t\t\t\ta.push(snd)\r\n\t\t\t}\r\n\t\t}\r\n\t\tthis.instances = a;\r\n\t\tif (this.instances.length == 0) {\r\n\t\t\tthis.isPlaying = false;\r\n\t\t}\r\n\t\tthis.callback.call(null, SoundSingle.SOUND_FINISHED_PLAYING, this);\r\n\t}\r\n\r\n\tplayLoop(fadeIn, fadeOut, quanti) {\r\n\t\tif (!this.isPlaying) {\r\n\t\t\tthis.isPlaying = true;\r\n\t\t\tvar sndTmp = createjs.Sound.play(this.id);\r\n\t\t\tsndTmp.intID = this.counterID++;\r\n\t\t\tsndTmp.addEventListener(\"complete\", jQuery.proxy(this.loopSound, this, sndTmp, quanti));\r\n\t\t\tthis.instances.push(sndTmp);\r\n\t\t\tif (fadeIn) {\r\n\t\t\t\tthis.doFadeIn(sndTmp);\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\t// console.log(\"Warning: sound \" + this.id + \" already playing!\");\r\n\t\t}\r\n\t}\r\n\r\n\tloopSound(sndTmp, quanti) {\r\n\t\tif (quanti) {\r\n\t\t\tquanti--;\r\n\t\t}\r\n\t\t//console.log(this.id + \" ||||>\" + quanti)\r\n\t\tthis.endSound(sndTmp);\r\n\t\tthis.callback.call(null, SoundSingle.SOUND_LOOPING, this);\r\n\t\tif (quanti) {\r\n\t\t\tif (quanti > 1) {\r\n\t\t\t\tthis.playLoop(null, null, quanti);\r\n\t\t\t\tthis.sounder.updateVolume();\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tthis.playLoop();\r\n\t\t\tthis.sounder.updateVolume();\r\n\t\t}\r\n\t}\r\n\r\n\tpause() {\r\n\t\tfor (var x = 0; x < this.instances.length; x++) {\r\n\t\t\tvar snd = this.instances[x];\r\n\t\t\tsnd.paused = true;\r\n\t\t}\r\n\r\n\t}\r\n\r\n\tresume() {\r\n\t\t//debugger\r\n\t\tfor (var x = 0; x < this.instances.length; x++) {\r\n\t\t\tvar snd = this.instances[x];\r\n\t\t\tsnd.play();\r\n\t\t\tsnd.paused = false;\r\n\t\t}\r\n\r\n\t}\r\n\r\n\tstop() {\r\n\t\tfor (var x = 0; x < this.instances.length; x++) {\r\n\t\t\tvar snd = this.instances[x];\r\n\t\t\tsnd.stop();\r\n\t\t}\r\n\t\tthis.killTween();\r\n\t\tthis.instances = new Array();\r\n\t\tthis.isPlaying = false;\r\n\t\tthis.sounder.volume = this.sounder.maxVolume;\r\n\t}\r\n\r\n\tdoFadeIn(sndTmp) {\r\n\t\tif (this.sounder.active) {\r\n\t\t\tconsole.log(\"Volume attuale: \" + this.sounder.volume)\r\n\t\t\t//sndTmp.setVolume(0);\r\n\t\t\tvar counter = { value: 0 };\r\n\t\t\tTweenMax.to(counter, Sounder.FADE_IN_TIME, { value: this.sounder.volume, onUpdate: jQuery.proxy(this.updateVolumeFading, this, sndTmp, counter) });\r\n\t\t\tthis.garbage.push(counter);\r\n\t\t}\r\n\t}\r\n\r\n\tupdateVolumeFading(snd, counter) {\r\n\t\t//console.log(counter.value)\r\n\t\tsnd.setVolume(counter.value);\r\n\t\tthis.sounder.volume = counter.value\r\n\t}\r\n\r\n\tsetVolume(vol, lKill) {\r\n\t\tfor (var x = 0; x < this.instances.length; x++) {\r\n\t\t\tvar snd = this.instances[x];\r\n\t\t\tsnd.setVolume(vol);\r\n\t\t}\r\n\t\tif (lKill) {\r\n\t\t\tthis.killTween();\r\n\t\t}\r\n\t}\r\n\r\n\tkillTween() {\r\n\t\tfor (var x = 0; x < this.garbage.length; x++) {\r\n\t\t\tTweenMax.killTweensOf(this.garbage[x]);\r\n\t\t}\r\n\t\tthis.garbage = new Array();\r\n\t}\r\n\r\n\tvolumeFadeOut() {\r\n\t\tfor (var x = 0; x < this.instances.length; x++) {\r\n\t\t\tvar snd = this.instances[x];\r\n\t\t\tvar counter = { value: this.sounder.volume };\r\n\t\t\tTweenMax.to(counter, Sounder.TOGGLE_FADE_IN_TIME, { value: 0, onUpdate: jQuery.proxy(this.updateVolumeFading, this, snd, counter) });\r\n\t\t\tthis.garbage.push(counter);\r\n\t\t}\r\n\t}\r\n\tvolumeFadeIn() {\r\n\t\tfor (var x = 0; x < this.instances.length; x++) {\r\n\t\t\tvar snd = this.instances[x];\r\n\t\t\tvar counter = { value: this.sounder.volume };\r\n\t\t\tTweenMax.to(counter, Sounder.TOGGLE_FADE_OUT_TIME, { value: this.sounder.maxVolume, onUpdate: jQuery.proxy(this.updateVolumeFading, this, snd, counter) });\r\n\t\t\tthis.garbage.push(counter);\r\n\t\t}\r\n\t}\r\n}\r\n\r\nSoundSingle.PRELOAD_COMPLETE = \"preloadComplete\";\r\nSoundSingle.SOUND_FINISHED_PLAYING = \"soundFinishedPlaying\";\r\nSoundSingle.SOUND_LOOPING = \"soundLooping\";\r\n","import Pqp from \"../Pqp.js\";\r\nimport SoundSingle from \"./SoundSingle.js\";\r\n\r\nexport default class Sounder {\r\n\tconstructor(lAutoStart, callback, maxVolume) {\r\n\t\tthis.aSound = new Array();\r\n\t\tthis.preloaded = 0;\r\n\t\tthis.lAutoStart = lAutoStart;\r\n\t\tthis.callback = callback;\r\n\t\tthis.maxVolume = 1;\r\n\t\tif (!Pqp.isNull(maxVolume)) {\r\n\t\t\tthis.maxVolume = maxVolume;\r\n\t\t}\r\n\t\tthis.volume = this.maxVolume;\r\n\t\tthis.debugEvent = false;\r\n\t\tthis.active = true;\r\n\r\n\r\n\t\tthis.updateVolume();\r\n\t}\r\n\r\n\tadd(id, path) {\r\n\t\t// Public\r\n\t\tfor (var x = 0; x < this.aSound.length; x++) {\r\n\t\t\tif (this.aSound[x].id == id) {\r\n\t\t\t\t//trace(\"Warning! Il suono \" + id + \" esiste giร !\");\r\n\t\t\t\treturn\r\n\t\t\t}\r\n\t\t}\r\n\t\tthis.aSound.push(new SoundSingle(this, id, path, jQuery.proxy(this.eventHandler, this)));\r\n\t\tif (this.lAutoStart) {\r\n\t\t\tthis.checkPreloadList();\r\n\t\t}\r\n\t}\r\n\r\n\tinit() {\r\n\t\t// Public\r\n\t\tthis.lAutoStart = true;\r\n\t\tthis.checkPreloadList();\r\n\t}\r\n\r\n\tcheckPreloadList() {\r\n\t\tif (this.preloaded < this.aSound.length) {\r\n\t\t\tif (!this.aSound[this.preloaded].isPreloading) {\r\n\t\t\t\tthis.preloadNextSound();\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tthis.dispatchEvent(Sounder.ALL_SOUNDS_READY);\r\n\t\t}\r\n\t}\r\n\r\n\ttrace(xVal, color) {\r\n\t\t// Trace controllato\r\n\t\tif (this.debugEvent) {\r\n\t\t\tif (Pqp.isNull(color)) {\r\n\t\t\t\tconsole.log(xVal);\r\n\t\t\t} else {\r\n\t\t\t\tconsole.log(xVal, color);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tpreloadNextSound() {\r\n\t\tthis.aSound[this.preloaded].isPreloading = true;\r\n\t\tthis.dispatchEvent(Sounder.START_PRELOADING_ONE_SOUND, this.aSound[this.preloaded]);\r\n\r\n\t\tthis.aSound[this.preloaded].preload();\r\n\r\n\t}\r\n\r\n\teventHandler(e, snd) {\r\n\t\tif (e == SoundSingle.PRELOAD_COMPLETE) {\r\n\t\t\tthis.dispatchEvent(Sounder.ONE_SOUND_PRELOADED, this.aSound[this.preloaded]);\r\n\t\t\tthis.preloaded++;\r\n\t\t\tthis.checkPreloadList();\r\n\t\t}\r\n\t\tif (e == SoundSingle.SOUND_FINISHED_PLAYING) {\r\n\t\t\tthis.dispatchEvent(Sounder.SOUND_FINISHED_PLAYING, snd);\r\n\t\t}\r\n\t\tif (e == SoundSingle.SOUND_LOOPING) {\r\n\t\t\tthis.dispatchEvent(Sounder.SOUND_LOOPING, snd);\r\n\t\t}\r\n\t}\r\n\r\n\tupdateVolume(lKill) {\r\n\t\tif (this.active) {\r\n\t\t\tthis.volume = this.maxVolume;\r\n\t\t} else {\r\n\t\t\tthis.volume = 0;\r\n\t\t}\r\n\t\tfor (var x = 0; x < this.aSound.length; x++) {\r\n\t\t\tthis.aSound[x].setVolume(this.volume, lKill);\r\n\t\t}\r\n\t}\r\n\r\n\tgetSoundById(id) {\r\n\t\tfor (var x = 0; x < this.aSound.length; x++) {\r\n\t\t\tif (this.aSound[x].id == id) {\r\n\t\t\t\treturn this.aSound[x];\r\n\t\t\t}\r\n\t\t}\r\n\t\t//trace(\"Warning! Non trovo il suono \" + id + \"!\");\r\n\t\treturn null;\r\n\t}\r\n\r\n\r\n\tplay(id, lOneInstance, fadeIn, fadeOut) {\r\n\t\t// Public (fadeout not supported)\r\n\t\tvar snd = this.getSoundById(id);\r\n\t\tsnd.play(lOneInstance, fadeIn);\r\n\t\tthis.updateVolume();\r\n\t}\r\n\r\n\tplayLoop(id, fadeIn, fadeOut,quanti) {\r\n\t\t// Public (fadeout not supported)\r\n\t\tvar snd = this.getSoundById(id);\r\n\t\tsnd.playLoop(fadeIn, false, quanti);\r\n\t\tthis.updateVolume();\r\n\t}\r\n\r\n\tstop(id) {\r\n\t\t// Public\r\n\t\tvar snd = this.getSoundById(id);\r\n\t\tsnd.stop();\r\n\t\tthis.volume = this.maxVolume;\r\n\t}\r\n\r\n\tpause(id) {\r\n\t\tvar snd = this.getSoundById(id);\r\n\t\tsnd.pause();\r\n\t}\r\n\r\n\r\n\tresume(id) {\r\n\t\tvar snd = this.getSoundById(id);\r\n\t\t//snd.play();\r\n\t\tsnd.resume();\r\n\t}\r\n\r\n\r\n\tactivate(lFlag) {\r\n\t\t// Public\r\n\t\tthis.active = lFlag;\r\n\t\tthis.updateVolume();\r\n\t}\r\n\r\n\tsetVolume(vol) {\r\n\t\t// Public\r\n\t\tthis.maxVolume = vol;\r\n\t\tthis.updateVolume(true);\r\n\t}\r\n\r\n\tdispatchEvent(type) {\r\n\t\t// Funzione che si occupa di passare gli eventi alla funzione registrata\r\n\t\tvar e = new Object();\r\n\t\te.type = type;\r\n\t\tif (type == Sounder.ALL_SOUNDS_READY) {\r\n\t\t\tthis.trace(\"Evt all sounds ready\", 2);\r\n\t\t}\r\n\t\tif (type == Sounder.ONE_SOUND_PRELOADED) {\r\n\t\t\te.sound = arguments[1];\r\n\t\t\tthis.trace(\"Evt one sound preloaded: \" + e.sound.id, 2);\r\n\t\t}\r\n\t\tif (type == Sounder.START_PRELOADING_ONE_SOUND) {\r\n\t\t\te.sound = arguments[1];\r\n\t\t\tthis.trace(\"Evt start preloading: \" + e.sound.id, 2);\r\n\t\t}\r\n\t\tif (type == Sounder.SOUND_FINISHED_PLAYING) {\r\n\t\t\te.sound = arguments[1];\r\n\t\t\tthis.trace(\"Evt sound finished playing: \" + e.sound.id, 2);\r\n\t\t}\r\n\t\tif (type == Sounder.SOUND_LOOPING) {\r\n\t\t\te.sound = arguments[1];\r\n\t\t\tthis.trace(\"Evt sound looping: \" + e.sound.id, 2);\r\n\t\t}\r\n\t\tif (!Pqp.isNull(this.callback)) {\r\n\t\t\tthis.callback.call(null, e);\r\n\t\t}\r\n\t}\r\n\r\n\ttoggleVolume(lOn) {\r\n\t\t//trace(\"Volume attuale \" + this.volume)\r\n\t\tthis.active = lOn;\r\n\t\tfor (var x = 0; x < this.aSound.length; x++) {\r\n\t\t\tvar snd = this.aSound[x];\r\n\t\t\tif (lOn) {\r\n\t\t\t\tsnd.volumeFadeIn();\r\n\t\t\t} else {\r\n\t\t\t\tsnd.volumeFadeOut();\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n\r\n\r\nSounder.FADE_IN_TIME = 4;\r\nSounder.TOGGLE_FADE_IN_TIME = 2;\r\nSounder.TOGGLE_FADE_OUT_TIME = 2;\r\n\r\nSounder.ALL_SOUNDS_READY = \"allSoundsReady\";\r\nSounder.START_PRELOADING_ONE_SOUND = \"startPreloadingOneSound\";\r\nSounder.ONE_SOUND_PRELOADED = \"oneSoundPreloaded\";\r\nSounder.SOUND_FINISHED_PLAYING = \"soundFinishedPlaying\";\r\nSounder.SOUND_LOOPING = \"soundLooping\";\r\n\r\n","import Pqp from \"../3x1010/Pqp\";\r\nimport Sounder from \"../3x1010/sounder/Sounder\";\r\n\r\nexport default class AudioPanel {\r\n constructor(clip,lng) {\r\n this.mc = clip;\r\n this.lng = lng.toLowerCase();\r\n this.currentScene = -1;\r\n this.sounder = new Sounder(true,this.soundEvents.bind(this),0.5);\r\n }\r\n\r\n init(scene) {\r\n this.checkStopAudio(scene)\r\n this.currentScene = scene;\r\n this.pauseStatus();\r\n this.checkShowPanel()\r\n jQuery(\".js-play\", this.mc).on(\"click\", this.play.bind(this));\r\n jQuery(\".js-pause\", this.mc).on(\"click\", this.pause.bind(this));\r\n }\r\n\r\n pauseStatus() {\r\n jQuery(\".js-sound-on\", this.mc).hide();\r\n jQuery(\".js-sound-off\", this.mc).show();\r\n }\r\n\r\n playStatus() {\r\n jQuery(\".js-sound-on\", this.mc).show();\r\n jQuery(\".js-sound-off\", this.mc).hide();\r\n }\r\n\r\n play() {\r\n let a = AudioPanel.DATA;\r\n if (PLUNGE_SETTINGS.uidTour === \"abeb8226b6594aecb2f90eb017bbf33b\") {\r\n a = AudioPanel.EVEARNOLD;\r\n }\r\n\r\n for (let x = 0; x < a.length; x++) {\r\n if (a[x].scenes.indexOf(parseInt(\"\" + this.currentScene)) >= 0) {\r\n if (Pqp.isNullOrEmpty(this.currentPlaying)) {\r\n this.currentPlaying = a[x].id;\r\n this.sounder.play(a[x].id, true);\r\n } else {\r\n this.sounder.resume(a[x].id);\r\n }\r\n this.playStatus();\r\n break;\r\n }\r\n }\r\n }\r\n\r\n pause() {\r\n if (!Pqp.isNullOrEmpty(this.currentPlaying)) {\r\n //this.sounder.stop(this.currentPlaying);\r\n this.sounder.pause(this.currentPlaying);\r\n //this.currentPlaying = null;\r\n this.pauseStatus();\r\n }\r\n\r\n }\r\n\r\n stop() {\r\n if (!Pqp.isNullOrEmpty(this.currentPlaying)) {\r\n this.sounder.stop(this.currentPlaying);\r\n this.currentPlaying = null;\r\n this.pauseStatus();\r\n }\r\n\r\n }\r\n\r\n\r\n changedScene(scene) {\r\n this.showPanel(false);\r\n this.checkStopAudio(scene);\r\n this.currentScene = scene;\r\n this.checkShowPanel()\r\n }\r\n\r\n show(lFlag) {\r\n if (lFlag) {\r\n this.mc.show();\r\n } else {\r\n this.mc.hide();\r\n }\r\n }\r\n\r\n\r\n checkStopAudio(scene) {\r\n \r\n\r\n let a = AudioPanel.DATA;\r\n let pathMostra =\"\"\r\n if (PLUNGE_SETTINGS.uidTour === \"abeb8226b6594aecb2f90eb017bbf33b\") {\r\n a = AudioPanel.EVEARNOLD;\r\n pathMostra = \"evearnold/\";\r\n }\r\n\r\n for (let x = 0; x < a.length; x++) {\r\n if (a[x].scenes.indexOf(parseInt(\"\" + scene)) >= 0) {\r\n // Setta il nome comunque\r\n jQuery(\".js-audio-title\", this.mc).text(a[x][\"title_\" + this.lng]);\r\n this.sounder.add(a[x].id, \"./assets/sound/\" + pathMostra+ this.lng + \"/\" + a[x][\"file_\" + this.lng]);\r\n //console.log(\"./assets/sound/\" + this.lng + \"/\" + a[x][\"file_\" + this.lng])\r\n\r\n if (a[x].scenes.indexOf(parseInt(\"\" + this.currentScene)) >= 0) {\r\n // Audio rimane lo stesso, se stava playando non lo interrompe\r\n //console.log(\"TENGO\")\r\n return\r\n }\r\n }\r\n }\r\n // La scena รจ cambiata e anche l'audio, quindi lo stoppa\r\n console.log(\"STOPPO\")\r\n this.stop();\r\n }\r\n\r\n soundEvents(e) {\r\n if (e.type === Sounder.ONE_SOUND_PRELOADED) {\r\n this.soundReady(e.sound.id);\r\n }\r\n if (e.type === Sounder.SOUND_FINISHED_PLAYING) {\r\n this.currentPlaying = null;\r\n }\r\n }\r\n\r\n soundReady(id) {\r\n let a = AudioPanel.DATA;\r\n if (PLUNGE_SETTINGS.uidTour === \"abeb8226b6594aecb2f90eb017bbf33b\") {\r\n a = AudioPanel.EVEARNOLD;\r\n }\r\n\r\n for (let x = 0; x < a.length; x++) {\r\n if (id === a[x].id) {\r\n a[x].ready = true;\r\n this.checkShowPanel();\r\n break;\r\n }\r\n }\r\n }\r\n\r\n checkShowPanel() {\r\n let a = AudioPanel.DATA;\r\n if (PLUNGE_SETTINGS.uidTour === \"abeb8226b6594aecb2f90eb017bbf33b\") {\r\n a = AudioPanel.EVEARNOLD;\r\n }\r\n\r\n for (let x = 0; x < a.length; x++) {\r\n if (a[x].scenes.indexOf(parseInt(\"\" + this.currentScene)) >= 0) {\r\n if (a[x].ready) {\r\n this.showPanel(true);\r\n return;\r\n }\r\n }\r\n }\r\n }\r\n\r\n showPanel(lFlag) {\r\n if (lFlag) {\r\n jQuery(\".js-sound-commands\", this.mc).show();\r\n jQuery(\".js-audio-loading\", this.mc).hide();\r\n } else {\r\n jQuery(\".js-sound-commands\", this.mc).hide();\r\n jQuery(\".js-audio-loading\", this.mc).show();\r\n }\r\n\r\n }\r\n\r\n\r\n}\r\n\r\nAudioPanel.DATA = [\r\n {\r\n scenes: [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12],\r\n id: \"prol\",\r\n title_it: \"Prologo\",\r\n title_en: \"Prologue\",\r\n file_it: \"Prologo.mp3\",\r\n file_en: \"Prologue.mp3\",\r\n ready: false\r\n },\r\n {\r\n scenes: [17, 18],\r\n id: \"vdar\",\r\n title_it: \"Vita d'artista\",\r\n title_en: \"Artist's life\",\r\n file_it: \"Capitolo 1 - Vita d_artista.mp3\",\r\n file_en: \"Chapter 1 - Artistโs Life.mp3\",\r\n ready: false\r\n },\r\n {\r\n scenes: [1],\r\n id: \"momd\",\r\n title_it: \"Il mondo moderno\",\r\n title_en: \"The modern world\",\r\n file_it: \"Capitolo 2 - Il mondo moderno.mp3\",\r\n file_en: \"Chapter 2 - The Modern World.mp3\",\r\n ready: false\r\n },\r\n {\r\n scenes: [16],\r\n id: \"sin1\",\r\n title_it: \"Sinfonia di una... (1)\",\r\n title_en: \"Symphony of a... (1)\",\r\n file_it: \"Capitolo 3 - Sinfonia di una grande cittร I.mp3\",\r\n file_en: \"Chapter 3 - Symphony of a Great City (part one).mp3\",\r\n ready: false\r\n },\r\n {\r\n scenes: [15],\r\n id: \"sin2\",\r\n title_it: \"Sinfonia di una... (2)\",\r\n title_en: \"Symphony of a... (2)\",\r\n file_it: \"Capitolo 3 - Sinfonia di una grande cittร II.mp3\",\r\n file_en: \"Chapter 3 - Symphony of a Great City (part two).mp3\",\r\n ready: false\r\n },\r\n {\r\n scenes: [13],\r\n id: \"purm\",\r\n title_it: \"Purismi\",\r\n title_en: \"Purism\",\r\n file_it: \"Capitolo 4 - Purismi.mp3\",\r\n file_en: \"Chapter 4 - Purisms.mp3\",\r\n ready: false\r\n },\r\n {\r\n scenes: [14],\r\n id: \"rlmg\",\r\n title_it: \"Realismi magici\",\r\n title_en: \"Magic Realisms\",\r\n file_it: \"Capitolo 5 - Realismi magici.mp3\",\r\n file_en: \"Chapter 5 -Magic Realisms.mp3\",\r\n ready: false\r\n },\r\n {\r\n scenes: [0],\r\n id: \"expr\",\r\n title_it: \"Esperimenti nella...\",\r\n title_en: \"Experiments in...\",\r\n file_it: \"Capitolo 6 - Esperimenti nella forma.mp3\",\r\n file_en: \"Chapter 6 - Experiments in Form.mp3\",\r\n ready: false\r\n }\r\n\r\n\r\n]\r\n\r\n\r\nAudioPanel.EVEARNOLD = [\r\n {\r\n scenes: [8],\r\n id: \"intr\",\r\n title_it: \"Introduzione\",\r\n file_it: \"00_Introduzione alla mostra.mp3\",\r\n ready: false\r\n },\r\n {\r\n scenes: [7],\r\n id: \"imgu\",\r\n title_it: \"Imparare a guardare\",\r\n file_it: \"01_Imparare a guardare.mp3\",\r\n ready: false\r\n },\r\n {\r\n scenes: [6],\r\n id: \"appe\",\r\n title_it: \"Approccio personale\",\r\n file_it: \"02_Un appassionato approccio personale.mp3\",\r\n ready: false\r\n },\r\n {\r\n scenes: [5],\r\n id: \"nebe\",\r\n title_it: \"Nero รจ bello\",\r\n file_it: \"03_Nero รจ bello.mp3\",\r\n ready: false\r\n },\r\n {\r\n scenes: [4],\r\n id: \"gepo\",\r\n title_it: \"I gesti del potere\",\r\n file_it: \"04_I gesti del potere.mp3\",\r\n ready: false\r\n },\r\n {\r\n scenes: [3],\r\n id: \"dima\",\r\n title_it: \"Dietro la macchina...\",\r\n file_it: \"05_Dietro la macchina da presa.mp3\",\r\n ready: false\r\n },\r\n {\r\n scenes: [2,1],\r\n id: \"joma\",\r\n title_it: \"Joan e Marilyn\",\r\n file_it: \"06_Joan e Marilyn.mp3\",\r\n ready: false\r\n },\r\n {\r\n scenes: [0,20,21],\r\n id: \"cuha\",\r\n title_it: \"Cuba e Haiti\",\r\n file_it: \"07_A casa nel mondo Cuba e Haiti.mp3\",\r\n file_en: \"Chapter 6 - Experiments in Form.mp3\",\r\n ready: false\r\n },\r\n {\r\n scenes: [14,13,12,11,10,9],\r\n id: \"gbus\",\r\n title_it: \"GB e USA\",\r\n file_it: \"08_A casa nel mondo Gran Bretagna e Stati Uniti.mp3\",\r\n ready: false\r\n },\r\n {\r\n scenes: [19,18,17,16,15],\r\n id: \"cime\",\r\n title_it: \"Cina e Medio Oriente\",\r\n file_it: \"09_A casa nel mondo Cina e Medio Oriente.mp3\",\r\n ready: false\r\n }\r\n\r\n\r\n]\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import Labels from \"./Labels.js\";\r\nimport MappaHud from \"./MappaHud.js\";\r\nimport Scene from \"./Scene.js\";\r\nimport Welcome from \"./Welcome.js\";\r\nimport Istruzioni from \"./Istruzioni.js\";\r\nimport Radar from \"./Radar.js\";\r\nimport Wgallery from \"./Wgallery.js\";\r\nimport WinfoImage from \"./WinfoImage.js\";\r\nimport Wyt from \"./Wyt.js\";\r\nimport Wiframe from \"./Wiframe.js\";\r\nimport Wcustom from \"./Wcustom.js\";\r\nimport AddHotspot from \"./AddHotspot.js\";\r\nimport Pqp from \"../3x1010/Pqp.js\";\r\nimport AudioPanel from \"./AudioPanel.js\";\r\nimport Sounder from \"../3x1010/sounder/Sounder.js\";\r\n\r\nexport default class Main {\r\n\r\n constructor(baseUrl, userLang, firstSpot, skipwi, hot_hotspot, edit, hot_item, url_rewrite, fhlookat, fvlookat, track) {\r\n this.userLang = userLang;\r\n this.baseUrl = baseUrl;\r\n this.pano = undefined;\r\n this.firstLoad = true;\r\n this.menuLingue = undefined;\r\n this.mappaHud = undefined;\r\n this.iface = new Array();\r\n this.mobile = false;\r\n this.firstSpot = firstSpot;\r\n this.viewdebug = null;\r\n this.skipwi = skipwi;\r\n this.patchedFirstShowInfo = false;\r\n this.hot_hotspot = hot_hotspot;\r\n this.hot_item = hot_item;\r\n this.edit = edit;\r\n this.lookupOrientamento = new Array();\r\n this.fastRadar = false;\r\n this.url_rewrite = url_rewrite;\r\n this.fhlookat = fhlookat;\r\n this.fvlookat = fvlookat;\r\n this.lDaFuori = false;\r\n this.track = track; // Se si arriva con un link diretto\r\n console.log(this.track);\r\n\r\n if (!this.firstSpot) {\r\n this.firstSpot = 0;\r\n }\r\n if (Pqp.isMobile()) {\r\n this.mobile = true;\r\n }\r\n this.ios = false;\r\n if (Pqp.isIos()) {\r\n this.ios = true;\r\n }\r\n\r\n if (!this.edit) {\r\n jQuery(\".js-btn-close-edit\").hide();\r\n jQuery(\".js-mode-edit\").hide();\r\n } else {\r\n PLUNGE_SETTINGS.customs.showZoom = false;\r\n }\r\n\r\n\r\n\r\n Main.that = this;\r\n //jQuery(window).append(jQuery(\".mcTurn\"));\r\n\r\n /*\r\n $('.owl-carousel').owlCarousel({\r\n margin:10,\r\n loop:true,\r\n autoWidth:true,\r\n items:4\r\n })\r\n */\r\n\r\n }\r\n\r\n init() {\r\n // L'engine รจ stato caricato, lo inizializza\r\n let lPreserve = false;\r\n let lWheel = true;\r\n if (this.edit) {\r\n lPreserve = true; // Per prendere lo screenshot\r\n lWheel = false;\r\n }\r\n\r\n embedpano({\r\n xml: Customs.pathResources,\r\n target: \"pano\",\r\n html5: \"only\",\r\n mobilescale: 1.0,\r\n passQueryParameters: true,\r\n mwheel: lWheel,\r\n capturetouch: lWheel,\r\n onready: jQuery.proxy(this.onPanoReady, this),\r\n webglsettings: {\r\n preserveDrawingBuffer: lPreserve\r\n }\r\n\r\n });\r\n }\r\n\r\n\r\n onPanoReady(pano) {\r\n // Salva il riferimento all'oggetto pano\r\n this.pano = pano;\r\n Scene.pano = pano;\r\n Scene.userLang = this.userLang;\r\n\r\n // Setta l'evento sull'onloadcomplete\r\n pano.set(\"events.onloadcomplete\", \"js(trixProxy('Main','onLoadComplete'))\");\r\n\r\n }\r\n\r\n onLoadComplete() {\r\n this.setTurnPhone();\r\n\r\n\r\n if (this.firstLoad) {\r\n // Setta i nomi delle scene in lingua\r\n Scene.setSceneNames();\r\n\r\n // Considera solo il primo caricamento (viene triggerato per ogni scena caricata)\r\n this.firstLoad = false;\r\n\r\n //jQuery(window).on(\"click\", jQuery.proxy(this.mapHudEventsHandler,this,{type: MappaHud.EVENT_GOTO_SCENE,spot: this.firstSpot,first: true}));\r\n\r\n\r\n // Forza la prima scena\r\n this.mapHudEventsHandler({\r\n type: MappaHud.EVENT_GOTO_SCENE,\r\n spot: this.firstSpot,\r\n first: true\r\n });\r\n\r\n //setTimeout(jQuery.proxy(this.showWelcome, this), 250);\r\n setTimeout(jQuery.proxy(this.showIstruzioni, this), 250);\r\n\r\n }\r\n\r\n\r\n }\r\n\r\n setTurnPhone() {\r\n if (this.mobile) {\r\n // Gira\r\n jQuery(\".js-gira\").html(Main.lbl(\"turnPhone\"));\r\n jQuery(window).on(\"resize.info\", jQuery.proxy(this.onCheckPortrait, this));\r\n this.onCheckPortrait();\r\n }\r\n\r\n }\r\n showWelcome() {\r\n // Rimuove il loading\r\n jQuery(\".trix-loading\").hide();\r\n\r\n if (!this.skipwi) {\r\n // Mostra il welcome screen\r\n let welcome = new Welcome(this.userLang, jQuery.proxy(this.welcomeDismissed, this));\r\n welcome.init(250);\r\n } else {\r\n this.istruzioniDismissed();\r\n }\r\n\r\n }\r\n\r\n welcomeDismissed() {\r\n this.showIstruzioni();\r\n }\r\n\r\n showIstruzioni() {\r\n jQuery(\".trix-loading\").hide();\r\n let istruzioni = new Istruzioni(this.userLang, jQuery.proxy(this.istruzioniDismissed, this));\r\n istruzioni.init(250);\r\n\r\n }\r\n\r\n istruzioniDismissed() {\r\n // L'utente ha nascosto le istruzioni\r\n // Mostra lingua, mappa hud e label della scena\r\n Main.START_FOV = this.pano.get(\"view.fov\");\r\n\r\n this.initLookupOrientamento();\r\n\r\n this.initUi();\r\n this.showSceltaLingua();\r\n if (!this.edit) {\r\n this.showMappaHud();\r\n }\r\n if (PLUNGE_SETTINGS.customs.radar) {\r\n if (!Pqp.isMobile()) {\r\n if (!this.edit) {\r\n this.showRadar();\r\n }\r\n }\r\n }\r\n\r\n // Listsner per aggiungere hotspot\r\n if (this.edit) {\r\n this.addKeyListener(true);\r\n this.disableNavigation();\r\n this.showCloseFrameEdit();\r\n } else {\r\n jQuery(\".js-btn-close-edit\").hide();\r\n\r\n }\r\n\r\n if (!Pqp.isNullOrEmpty(PLUNGE_SETTINGS.customs.externalLink)) {\r\n jQuery(\".js-goto-ext\").on(\"click\", jQuery.proxy(this.gotoExtLink, this));\r\n } else {\r\n jQuery(\".js-goto-ext\").hide();\r\n }\r\n\r\n this.adjustInfo();\r\n\r\n }\r\n\r\n gotoExtLink() {\r\n\r\n /*let o = {};\r\n o.action = \"external-link\";\r\n o.link = PLUNGE_SETTINGS.customs.externalLink;\r\n Main.tracking(o);*/\r\n\r\n window.open(PLUNGE_SETTINGS.customs.externalLink, \"_blank\");\r\n }\r\n\r\n addKeyListener(lAdd) {\r\n if (lAdd) {\r\n jQuery(window).on(\"keydown.trix\", jQuery.proxy(this.onKeyDown, this));\r\n } else {\r\n jQuery(window).off(\"keydown.trix\");\r\n }\r\n\r\n }\r\n\r\n onKeyDown(e) {\r\n\r\n if (e.keyCode == 86) {\r\n this.addKeyListener(false);\r\n this.addHotspot();\r\n }\r\n }\r\n\r\n initUi() {\r\n let ui = jQuery(\"#template-ui\").clone();\r\n ui.attr(\"id\", \"ui\" + Main.ENUM++);\r\n jQuery(\".js-trix1010\").append(ui);\r\n this.ui = ui;\r\n\r\n let ev = \"mousedown\"\r\n if (this.mobile) {\r\n ev = \"touchstart\"\r\n }\r\n jQuery(\".js-image-btn-zoom-in\", ui).on(ev, jQuery.proxy(this.beginZoomIn, this))\r\n jQuery(\".js-image-btn-zoom-out\", ui).on(ev, jQuery.proxy(this.beginZoomOut, this))\r\n jQuery(\".js-image-btn-fullscreen\", ui).on(\"click\", jQuery.proxy(this.toggleFullscreen, this))\r\n jQuery(\".js-image-info\", ui).on(\"click\", jQuery.proxy(this.toggleInfo, this, true))\r\n\r\n\r\n jQuery(window).on(\"resize\", jQuery.proxy(this.adjustInfo, this));\r\n\r\n if (this.mobile) {\r\n jQuery(\".js-image-btn-zoom-in\", this.ui).hide();\r\n jQuery(\".js-image-btn-zoom-out\", this.ui).hide();\r\n }\r\n if ((this.ios) || (this.edit)) {\r\n jQuery(\".js-image-btn-fullscreen\", ui).css(\"pointer-events\", \"none\");\r\n jQuery(\".js-image-btn-fullscreen\", ui).css(\"opacity\", 0);\r\n jQuery(\".js-btns-fsnofs\", ui).width(\"1px\");\r\n jQuery(\".trix-btn-interface-right\", ui).css(\"margin-right\", 0);\r\n }\r\n\r\n let logo = jQuery(\"#template-logo\").clone();\r\n logo.attr(\"id\", \"logo\" + Main.ENUM++);\r\n jQuery(\".js-trix1010\").append(logo);\r\n this.logo = logo;\r\n\r\n if (!PLUNGE_SETTINGS.customs.showInfo) {\r\n jQuery(\".js-image-info\", ui).hide();\r\n }\r\n\r\n if (!PLUNGE_SETTINGS.customs.showZoom) {\r\n jQuery(\".js-image-btn-zoom-in\", this.ui).hide();\r\n jQuery(\".js-image-btn-zoom-out\", this.ui).hide();\r\n\r\n }\r\n\r\n if (this.edit) {\r\n this.logo.hide();\r\n\r\n }\r\n\r\n this.initAudio();\r\n\r\n\r\n\r\n }\r\n\r\n showSceltaLingua() {\r\n if (PLUNGE_SETTINGS.customs.showLingue) {\r\n this.menuLingue = new MenuLingue(userLang, jQuery.proxy(this.onChangedLingua, this));\r\n this.menuLingue.init();\r\n this.iface.push(this.menuLingue);\r\n }\r\n\r\n }\r\n\r\n onChangedLingua(lng) {\r\n let qs = document.location.href;\r\n var tmp = [\"\", \"\"];\r\n if (qs.indexOf(\"?\") >= 0) {\r\n tmp = qs.split(\"?\");\r\n qs = tmp[0];\r\n }\r\n if (tmp[1].length > 0) {\r\n lng += \"&\" + tmp[1];\r\n }\r\n\r\n qs = qs + \"?pn=\" + lng;\r\n document.location.href = qs;\r\n }\r\n\r\n\r\n showMappaHud() {\r\n this.mappaHud = new MappaHud(this.userLang, jQuery.proxy(this.mapHudEventsHandler, this));\r\n this.mappaHud.init();\r\n }\r\n\r\n mapHudEventsHandler(e) {\r\n\r\n if (e.type == MappaHud.EVENT_GOTO_SCENE) {\r\n this.fastRadar = true;\r\n Scene.gotoScene(e.spot, e.first);\r\n setTimeout(jQuery.proxy(this.checkOpenHs, this), 500)\r\n }\r\n }\r\n\r\n\r\n showRadar() {\r\n this.radar = new Radar(this.userLang, jQuery.proxy(this.radarEventsHandler, this));\r\n this.radar.init();\r\n }\r\n\r\n radarEventsHandler(e) {\r\n }\r\n\r\n\r\n checkOpenHs() {\r\n if (this.hot_hotspot) {\r\n let hhs = this.hot_hotspot.split(\"|\")[0];\r\n let tmp = this.hot_hotspot.split(\"|\");\r\n let parm = null;\r\n if (tmp.length > 1) {\r\n parm = tmp[1];\r\n }\r\n //let hs = Scene.getHotspotByName(hot_hotspot)\r\n let hs = Scene.getHotspotByName(hhs)\r\n if (hs) {\r\n this.lDaFuori = true;\r\n this.handleHotspot(hhs, null, parm, this.hot_item);\r\n this.lDaFuori = false;\r\n //this.handleHotspot(hot_hotspot, null, parm);\r\n } else {\r\n this.track = false;\r\n }\r\n this.hot_hotspot = null;\r\n } else {\r\n this.track = false;\r\n }\r\n\r\n }\r\n moveAndTag(action, category, label) {\r\n console.log(\"AA\")\r\n\r\n /*if (this.radar) {\r\n this.radar.destroyed = true;\r\n }*/\r\n //console.log(action, category, label);\r\n try {\r\n this.setInfo();\r\n } catch (e) {\r\n\r\n }\r\n let o = new Object();\r\n o.action = action;\r\n o.language = category;\r\n o.station = label;\r\n let area = Scene.getSceneByName(label);\r\n o.area = area.area;\r\n o.spot = area.spot;\r\n o.name = area.RenderDescription;\r\n Main.tracking(o);\r\n\r\n this.enteredScene(area);\r\n }\r\n\r\n\r\n handleHotspot(hs, altId, parm, item) {\r\n let hslocal = Scene.getHotspotByName(hs)\r\n if (altId) {\r\n hslocal = Scene.getHotspotByName(altId)\r\n }\r\n\r\n let o = new Object();\r\n o.action = \"clicked-hotspot\";\r\n o.language = this.userLang;\r\n let area = Scene.getCurrentScene();\r\n o.station = area.name;\r\n o.area = area.area;\r\n o.spot = area.spot;\r\n o.hotspot = hs;\r\n o.parm = parm;\r\n o.item = item;\r\n if (altId) {\r\n o.hotspot = altId;\r\n }\r\n\r\n //console.log(o)\r\n //Main.tracking(o);\r\n if (hs != \"hotspot_video\") {\r\n this.executeActionHotspot(hslocal, o);\r\n //setTimeout(this.executeActionHotspot.bind(this, hslocal, o), 1000);\r\n }\r\n this.track = false;\r\n\r\n }\r\n\r\n executeActionHotspot(hslocal, o) {\r\n if (!hslocal) {\r\n Main.alert(\"ATTENZIONE!\", \"Non รจ stato trovato nessun riferimento all'hotspot '\" + o.hotspot + \"'.
Controllare il documento fogli di google.\");\r\n return\r\n }\r\n let tra = new Object();\r\n tra.action = \"clicked-hotspot\";\r\n tra.hotspot = hslocal.tipo;\r\n tra.Nome = hslocal.Title;\r\n Main.tracking(tra);\r\n\r\n let widget;\r\n if ((hslocal.tipo == \"gallery\") || (hslocal.tipo == \"gallery_special\")) {\r\n hslocal.template = Wgallery.T_MULTIPLA;\r\n widget = new Wgallery(hslocal, o, jQuery.proxy(this.hotspotsEventHandler, this));\r\n }\r\n if ((hslocal.tipo == \"iframe\") || (hslocal.tipo == \"info\")) {\r\n widget = new Wiframe(hslocal, o, jQuery.proxy(this.hotspotsEventHandler, this));\r\n }\r\n if (hslocal.tipo == \"youtube\") {\r\n widget = new Wyt(hslocal, o, jQuery.proxy(this.hotspotsEventHandler, this));\r\n }\r\n if (hslocal.tipo == \"infoimage\") {\r\n widget = new WinfoImage(hslocal, o, jQuery.proxy(this.hotspotsEventHandler, this));\r\n }\r\n if ((hslocal.tipo == \"linkext\") || (hslocal.tipo == \"scendigiu\") || (hslocal.tipo == \"salisu\") || (hslocal.tipo == \"vaidila\") || (hslocal.tipo == \"salisuqui\") || (hslocal.tipo == \"scendigiuqui\") || (hslocal.tipo == \"exit\") || (hslocal.tipo == \"enter\") || (hslocal.tipo == \"goon\") || (hslocal.tipo == \"arrow_down_left\") || (hslocal.tipo == \"arrow_down_right\") || (hslocal.tipo == \"arrow_up_left\") || (hslocal.tipo == \"arrow_up_right\")) {\r\n widget = new Wcustom(hslocal, o, jQuery.proxy(this.hotspotsEventHandler, this), this.lDaFuori);\r\n }\r\n if (widget) {\r\n widget.init();\r\n } else {\r\n Main.alert(\"ATTENZIONE!\", \"L'hotspot '\" + hslocal.name + \"' appartiene ad una tipologia che non รจ stata ancora gestita.\");\r\n }\r\n }\r\n\r\n hotspotsEventHandler(e) {\r\n\r\n if (e.type == Main.HS_EVENT_HIDE_INTERFACE) {\r\n Main.sfoca(true);\r\n Main.showInterface(false)\r\n }\r\n if (e.type == Main.HS_EVENT_SHOW_INTERFACE) {\r\n Main.sfoca(false);\r\n Main.showInterface(true)\r\n }\r\n }\r\n\r\n\r\n beginZoomIn() {\r\n let ev = \"mouseup\"\r\n if (this.mobile) {\r\n ev = \"touchend\"\r\n }\r\n this.zoomIn();\r\n jQuery(window).off(ev);\r\n jQuery(window).on(ev, jQuery.proxy(this.clearZoom, this));\r\n //console.log(\"START PRESS\")\r\n }\r\n beginZoomOut() {\r\n let ev = \"mouseup\"\r\n if (this.mobile) {\r\n ev = \"touchend\"\r\n }\r\n this.zoomOut();\r\n jQuery(window).off(ev);\r\n jQuery(window).on(ev, jQuery.proxy(this.clearZoom, this));\r\n //console.log(\"START PRESS\")\r\n\r\n }\r\n\r\n zoomIn() {\r\n Main.FOV = this.pano.get(\"view.fov\");\r\n Main.FOV -= Main.INC_DEC_ZOOM;\r\n this.pano.set(\"view.fov\", Main.FOV)\r\n this.idzoom = setTimeout(jQuery.proxy(this.zoomIn, this), 20);\r\n }\r\n\r\n zoomOut() {\r\n Main.FOV = this.pano.get(\"view.fov\");\r\n Main.FOV += Main.INC_DEC_ZOOM;\r\n this.pano.set(\"view.fov\", Main.FOV)\r\n this.idzoom = setTimeout(jQuery.proxy(this.zoomOut, this), 20);\r\n }\r\n clearZoom() {\r\n let ev = \"mouseup\"\r\n if (this.mobile) {\r\n ev = \"touchend\"\r\n }\r\n jQuery(\"window\").off(ev);\r\n\r\n clearTimeout(this.idzoom);\r\n }\r\n\r\n toggleFullscreen() {\r\n //console.log(document.fullscreenElement);\r\n if (document.fullscreenElement) {\r\n document.exitFullscreen();\r\n } else {\r\n let element = jQuery(\".trix1010\").get(0);\r\n element.requestFullscreen();\r\n }\r\n }\r\n\r\n showInfoForced() {\r\n if (PLUNGE_SETTINGS.customs.showInfo) {\r\n let mc = jQuery(\".js-infos\", this.ui);\r\n if (!mc.is(\":visible\")) {\r\n this.toggleInfo(true);\r\n }\r\n }\r\n\r\n }\r\n\r\n toggleInfo(lAnim) {\r\n if (PLUNGE_SETTINGS.customs.showInfo) {\r\n let mc = jQuery(\".js-infos\", this.ui);\r\n let title = jQuery(\".js-title-container\", this.ui);\r\n let panel = jQuery(\".js-title-panel\", this.ui);\r\n if (mc.is(\":visible\")) {\r\n mc.hide();\r\n title.hide();\r\n jQuery(\".js-image-info\", this.ui).css(\"background-color\", \"transparent\");\r\n jQuery(\".js-pez\").remove();\r\n\r\n } else {\r\n mc.show();\r\n title.show();\r\n this.setInfo();\r\n //jQuery(\".js-image-info\", this.ui).css(\"background-color\", \"rgba(255,255,255,0.8)\");\r\n if (lAnim) {\r\n mc.css({\r\n opacity: 0\r\n })\r\n TweenMax.to(mc, 0.2, {\r\n opacity: 1\r\n });\r\n panel.css({\r\n top: panel.height()\r\n })\r\n TweenMax.to(panel, 0.2, {\r\n top: 0\r\n });\r\n } else {\r\n panel.css({\r\n top: 0\r\n });\r\n }\r\n\r\n this.pezza = jQuery(\"\");\r\n this.pezza.css(\"height\", \"1px\")\r\n this.pezza.css(\"position\", \"absolute\")\r\n this.pezza.css(\"width\", \"100%\")\r\n this.pezza.css(\"top\", \"-1px\")\r\n this.pezza.css(\"background-color\", \"rgba(255,255,255,0.8)\");\r\n //jQuery(\".js-image-info\", this.ui).parent().append(this.pezza);\r\n\r\n\r\n\r\n\r\n\r\n }\r\n\r\n this.adjustInfo();\r\n }\r\n\r\n }\r\n\r\n setInfo() {\r\n var scene = Scene.getCurrentScene();\r\n jQuery(\".js-title-h\", this.ui).html(scene[\"Titolo_\" + this.userLang.toLowerCase()])\r\n jQuery(\".js-title\", this.ui).html(\"\");\r\n jQuery(\".js-desc\", this.ui).html(scene[\"Descrizione_\" + this.userLang.toLowerCase()])\r\n this.adjustInfo();\r\n }\r\n /*\r\n adjustInfo() {\r\n\t\r\n let mc = jQuery(\".js-infos\", this.ui);\r\n\t\r\n if (mc.is(\":visible\")) {\r\n let margin = jQuery(\".js-sx\", this.ui).width() * 0.01;\r\n let begx = jQuery(\".js-image-info\", this.ui).offset().left + jQuery(\".js-image-info\", this.ui).width();\r\n\t\r\n let oz = jQuery(\".js-image-btn-zoom-in\", this.ui).offset().left;\r\n if (this.mobile) {\r\n oz = jQuery(\".js-btns-fsnofs\", this.ui).offset().left;\r\n }\r\n\t\r\n let winfos = oz - begx - margin;\r\n\t\r\n mc.css({\r\n left: begx,\r\n width: winfos\r\n });\r\n\t\r\n margin = jQuery(\".js-sx\", this.ui).width() * 0.02;\r\n let ofsx = jQuery(\".js-isx\", this.ui).width() + margin * 2;\r\n jQuery(\".js-isx\", this.ui).css(\"margin-left\", margin);\r\n jQuery(\".js-isx\", this.ui).css(\"margin-right\", margin);\r\n let banw = jQuery(\".js-ban\", this.ui).width();\r\n let wdx = banw - ofsx - margin;\r\n jQuery(\".js-idx\", this.ui).width(wdx);\r\n }\r\n\t\r\n if (document.fullscreenElement) {\r\n jQuery(\".js-btn-fs\", this.ui).hide();\r\n jQuery(\".js-btn-nofs\", this.ui).show();\r\n } else {\r\n jQuery(\".js-btn-nofs\", this.ui).hide();\r\n jQuery(\".js-btn-fs\", this.ui).show();\r\n }\r\n\t\r\n\t\r\n }\r\n */\r\n\r\n adjustInfo() {\r\n //console.log(\"adjust!\")\r\n let mleft = jQuery(\".js-trix1010\").offset().left;\r\n let mc = jQuery(\".js-infos\", this.ui);\r\n\r\n if (mc.is(\":visible\")) {\r\n let margin = jQuery(\".js-sx\", this.ui).width() * 0.01;\r\n let begx = jQuery(\".js-image-info\", this.ui).offset().left + jQuery(\".js-image-info\", this.ui).width();\r\n\r\n let oz = jQuery(\".js-image-btn-zoom-in\", this.ui).offset().left;\r\n if (this.mobile) {\r\n oz = jQuery(\".js-btns-fsnofs\", this.ui).offset().left;\r\n }\r\n if (!PLUNGE_SETTINGS.customs.showZoom) {\r\n oz = jQuery(\".js-btns-fsnofs\", this.ui).offset().left;\r\n }\r\n\r\n\r\n let winfos = oz - begx - margin;\r\n\r\n mc.css({\r\n left: begx - mleft,\r\n width: winfos\r\n });\r\n\r\n margin = jQuery(\".js-sx\", this.ui).width() * 0.02;\r\n let ofsx = jQuery(\".js-isx\", this.ui).width() + margin //* 2;\r\n jQuery(\".js-isx\", this.ui).css(\"margin-left\", margin);\r\n //jQuery(\".js-isx\", this.ui).css(\"margin-right\", margin);\r\n let banw = jQuery(\".js-ban\", this.ui).width();\r\n let wdx = banw - ofsx - margin;\r\n jQuery(\".js-idx\", this.ui).width(wdx);\r\n\r\n // il titolo\r\n let title = jQuery(\".js-title-container\", this.ui);\r\n title.show();\r\n title.remove();\r\n let paneltitleh = jQuery(\".js-title-panel\", this.ui).outerHeight();\r\n let begtx = jQuery(\".js-image-info\", this.ui).offset().left;\r\n let begty = -paneltitleh + 1;\r\n let wt = jQuery(\".js-image-info\", this.ui).width() + winfos\r\n\r\n\r\n title.css({\r\n left: begtx - mleft,\r\n top: begty,\r\n width: wt,\r\n height: paneltitleh\r\n })\r\n\r\n let mart = jQuery(\".js-image-info\", this.ui).width() + margin;\r\n jQuery(\".js-title-h\", this.ui).css(\"margin-left\", mart);\r\n\r\n\r\n jQuery(\".js-infos\", this.ui).off(\"click\");\r\n jQuery(\".js-title-panel\", this.ui).off(\"click\");\r\n jQuery(\".js-infos\", this.ui).on(\"click\", jQuery.proxy(this.toggleInfo, this, true))\r\n jQuery(\".js-title-panel\", this.ui).on(\"click\", jQuery.proxy(this.toggleInfo, this, true))\r\n\r\n\r\n\r\n }\r\n\r\n if (document.fullscreenElement) {\r\n jQuery(\".js-btn-fs\", this.ui).hide();\r\n jQuery(\".js-btn-nofs\", this.ui).show();\r\n } else {\r\n jQuery(\".js-btn-nofs\", this.ui).hide();\r\n jQuery(\".js-btn-fs\", this.ui).show();\r\n }\r\n\r\n\r\n }\r\n\r\n\r\n\r\n onViewChanged() {\r\n\r\n if (!this.viewInited) {\r\n this.viewInited = true;\r\n let vi = jQuery(\"#template-viewc\").clone();\r\n vi.attr(\"id\", \"tvirw\" + Main.ENUM++);\r\n jQuery(\".js-trix1010\").append(vi);\r\n this.viewdebugcount = 0;\r\n this.viewdebug = vi;\r\n this.viewdebug.on(\"click\", jQuery.proxy(this.contaCheat, this));\r\n vi.css(\"z-index\", 10);\r\n console.log(\"-----------------\");\r\n console.log(this.viewdebug);\r\n }\r\n let view = this.pano.get(\"view\");\r\n this.pano.call(\"screentosphere(mouse.x, mouse.y, mouseath, mouseatv)\");\r\n let mouse_at_x = this.pano.get(\"mouse.x\");\r\n let mouse_at_y = this.pano.get(\"mouse.y\");\r\n let mouse_at_h = this.pano.get(\"mouseath\");\r\n let mouse_at_v = this.pano.get(\"mouseatv\");\r\n this.viewdebug.html(\"hlookat: \" + view.hlookat + \"
vlookat: \" + view.vlookat + \"
ath: \" + mouse_at_h + \"
atv: \" + mouse_at_v + \"
mousex: \" + mouse_at_x + \"
mousey: \" + mouse_at_y);\r\n\r\n }\r\n\r\n contaCheat() {\r\n this.viewdebugcount++;\r\n if (this.viewdebugcount == 3) {\r\n this.viewdebug.css(\"opacity\", \"1\");\r\n this.viewdebug.css(\"display\", \"inline-block\");\r\n }\r\n\r\n }\r\n\r\n onCheckPortrait() {\r\n if (this.mobile) {\r\n var w = jQuery(window).outerWidth();\r\n var h = jQuery(window).outerHeight();\r\n //console.log(w, h)\r\n //if (h > 500) {\r\n if (h > w) {\r\n jQuery(\".mcTurn\").show();\r\n } else {\r\n jQuery(\".mcTurn\").hide();\r\n var h = jQuery(window).height();\r\n jQuery(\"body\").css(\"height\", h);\r\n jQuery(\"body\").css(\"width\", \"99.9vw\");\r\n jQuery(\".js-trix1010\").height(h)\r\n\r\n /*try{\r\n document.exitFullscreen();\r\n }catch(e){\r\n \t\r\n }*/\r\n\r\n }\r\n //}\r\n }\r\n }\r\n\r\n enteredScene(area) {\r\n //console.log(area);\r\n //console.log(this.pano)\r\n //if (area.showOnMap) {\r\n //let view = this.pano.get(\"view\");\r\n //this.viewdebug.html(view.hlookat + \"
\" + view.vlookat)\r\n //console.log(view)\r\n\r\n //this.onViewChanged()\r\n if (this.userLang !== \"IT\") {\r\n this.removeGameHotspot(\"hf02be44e0ead4b29bb4a1560348ea35c\")\r\n this.removeGameHotspot(\"h9bd425b91c774c44b41db55ab68ffa63\")\r\n this.removeGameHotspot(\"h4ba1f1923d624eadba420f6ec95ef2e3\")\r\n this.removeGameHotspot(\"h1a06f42884d048a09e946e870a4ec699\")\r\n this.removeGameHotspot(\"hd23dae5901c84df6a2c730b7e4451269\")\r\n this.removeGameHotspot(\"h06e45ce9ecd04a0ba00265f8ee5a65dc\")\r\n this.removeGameHotspot(\"h676267a99ec24dc7826db34dfe2b0cdb\")\r\n }\r\n\r\n\r\n if (!this.patchedFirstShowInfo) {\r\n this.showInfoForced();\r\n this.patchedFirstShowInfo = true;\r\n this.idseti = setInterval(jQuery.proxy(this.adjustInfo, this), 10);\r\n } else {\r\n clearInterval(this.idseti);\r\n }\r\n /*}else{\r\n clearInterval(this.idseti);\r\n }*/\r\n\r\n let quanti = this.pano.get('hotspot.count');\r\n for (var x = 0; x < quanti; x++) {\r\n var hs = this.pano.get('hotspot[' + x + ']');\r\n if (hs.scene_el == area.name) {\r\n if (hs.triggeraAnimazione) {\r\n // console.log(\"Triggero \"+hs.title);\r\n //Scene.startHsAnimation(hs,hs.oldWidth)\r\n setTimeout(jQuery.proxy(Scene.startHsAnimation, Scene, hs, hs.oldWidth), 100);\r\n }\r\n }\r\n }\r\n\r\n if (Main.that.radar) {\r\n Main.that.radar.reset(this.fastRadar);\r\n this.fastRadar = false;\r\n }\r\n\r\n //setTimeout(jQuery.proxy(this.removeHotspotNavigation, this), 100);\r\n\r\n // Aggiusta l'url \r\n Main.setUrl(Scene.getCurrentScene().name, null, null)\r\n\r\n if (this.audioPanel) {\r\n this.audioPanel.changedScene(Scene.getCurrentScene().spot);\r\n }\r\n\r\n\r\n\r\n }\r\n\r\n static setUrl(scena, hotspot, item) {\r\n if (!Main.that.url_rewrite) {\r\n return;\r\n }\r\n let location = window.location.href\r\n if (location.indexOf(\"?\") >= 0) {\r\n location = location.split(\"?\")[0];\r\n }\r\n\r\n if (hotspot) {\r\n location += \"?hs=\" + hotspot\r\n } else {\r\n location += \"?loc=\" + Scene.getSceneByName(scena).spot;\r\n }\r\n\r\n window.history.replaceState(null, null, location);\r\n }\r\n\r\n patchaVideo(hs, w, h) {\r\n //console.log(\"PATCH \" + w + \" \" + h)\r\n hs.width = w;\r\n hs.height = h;\r\n }\r\n\r\n static showInterface(lFlag) {\r\n let iface = Main.that.iface;\r\n for (let x = 0; x < iface.length; x++) {\r\n iface[x].showWidget(lFlag);\r\n }\r\n if (lFlag) {\r\n Main.that.ui.show();\r\n if (Customs.logoTopLeft) {\r\n if (!Main.that.edit) {\r\n Main.that.logo.show();\r\n }\r\n }\r\n if (Main.that.edit) {\r\n jQuery(\".js-btn-close-edit\").show();\r\n jQuery(\".js-mode-edit\").show();\r\n }\r\n if (Main.that.radar) {\r\n Main.that.radar.show(true);\r\n }\r\n jQuery(\".js-logo-ui\").show();\r\n if (Main.that.audioPanel) {\r\n Main.that.audioPanel.show(true);\r\n }\r\n\r\n } else {\r\n Main.that.ui.hide();\r\n if (Customs.logoTopLeft) {\r\n if (!Main.that.edit) {\r\n Main.that.logo.hide();\r\n }\r\n }\r\n if (Main.that.edit) {\r\n jQuery(\".js-btn-close-edit\").hide();\r\n jQuery(\".js-mode-edit\").hide();\r\n }\r\n if (Main.that.radar) {\r\n Main.that.radar.show(false);\r\n }\r\n jQuery(\".js-logo-ui\").hide();\r\n\r\n if (Main.that.audioPanel) {\r\n Main.that.audioPanel.show(false);\r\n }\r\n\r\n }\r\n }\r\n\r\n static sfoca(lFlag) {\r\n if (lFlag) {\r\n jQuery(Main.that.pano).addClass(\"blur-effect\");\r\n } else {\r\n jQuery(Main.that.pano).removeClass(\"blur-effect\");\r\n }\r\n }\r\n\r\n static lbl(id) {\r\n let a = Labels.LABELS;\r\n for (let x = 0; x < a.length; x++) {\r\n if (a[x].id == id) {\r\n return a[x][\"value_\" + Main.that.userLang.toLowerCase()];\r\n }\r\n }\r\n return \"[\" + id + \"]\";\r\n }\r\n\r\n static alert(title, message) {\r\n let alert = new Walert(title, message);\r\n alert.init();\r\n }\r\n\r\n static getYoutubeString(code) {\r\n\r\n var s = \"//www.youtube.com/embed/\";\r\n if (code.length == 11) {\r\n Main.debugTrace(\"VIDEO SINGOLO\")\r\n // Video singolo\r\n s += code + \"?start=0&cc_lang_pref=\" + Main.that.userLang + \"&cc_load_policy=1&hl=\" + Main.that.userLang + \"&color=white&autohide=0&iv_load_policy=3&autoplay=1&mute=0&rel=0&showinfo=0&controls=1&loop=1\";\r\n } else {\r\n Main.debugTrace(\"PLAYLIST\")\r\n // Playlist\r\n s += code + \"?start=0&cc_lang_pref=\" + Main.that.userLang + \"&cc_load_policy=1&hl=\" + Main.that.userLang + \"&color=white&autohide=0&iv_load_policy=3&autoplay=1&mute=0&rel=0&showinfo=0&controls=1&loop=1\";\r\n }\r\n return s;\r\n }\r\n\r\n static debugTrace(xValue) {\r\n if (Main.SHOW_DEBUG_INFO) {\r\n console.log(xValue);\r\n }\r\n\r\n }\r\n\r\n\r\n\r\n\r\n addHotspot() {\r\n // Nasconde le altre hotspots\r\n this.showAllHotspots(false);\r\n // Aggiunge la hotspot dummy\r\n this.addDummyHotspot();\r\n // Disabilita le interazioni\r\n jQuery(\".js-disabler\").show();\r\n\r\n }\r\n\r\n getScreenshot() {\r\n var c = jQuery(\"canvas\").get(0);\r\n var d = c.toDataURL(\"image/png\");\r\n\r\n var canvas = document.getElementById(\"tmp-snapshot\");\r\n var ctx = canvas.getContext(\"2d\");\r\n var img = new Image();\r\n img.onload = function () {\r\n // set size proportional to image\r\n canvas.height = canvas.width * (img.height / img.width);\r\n\r\n // step 1 - resize to 50%\r\n var oc = document.createElement('canvas'),\r\n octx = oc.getContext('2d');\r\n oc.width = img.width * 0.5;\r\n oc.height = img.height * 0.5;\r\n octx.drawImage(img, 0, 0, oc.width, oc.height);\r\n // step 2\r\n octx.drawImage(oc, 0, 0, oc.width * 0.5, oc.height * 0.5);\r\n // step 3, resize to final size\r\n ctx.drawImage(oc, 0, 0, oc.width * 0.5, oc.height * 0.5,\r\n 0, 0, canvas.width, canvas.height);\r\n }\r\n img.src = d;\r\n\r\n setTimeout(jQuery.proxy(this.showAddHotspotWindow, this, canvas), 100);\r\n\r\n }\r\n\r\n addDummyHotspot() {\r\n this.pano.call(\"screentosphere(mouse.x, mouse.y, mouseath, mouseatv)\");\r\n let hlookat = this.pano.get(\"mouseath\");\r\n let vlookat = this.pano.get(\"mouseatv\");\r\n this.dummyHlookat = hlookat;\r\n this.dummyVlookat = vlookat;\r\n\r\n var spotname = \"dummy\" + Main.ENUM++;\r\n this.pano.call(\"addhotspot(\" + spotname + \");\");\r\n this.pano.call(\"set(hotspot[\" + spotname + \"].url,/Plunge/assets/hotspots/hotspot_add.png;\");\r\n this.pano.call(\"set(hotspot[\" + spotname + \"].ath,\" + hlookat + \");\");\r\n this.pano.call(\"set(hotspot[\" + spotname + \"].atv,\" + vlookat + \");\");\r\n this.pano.call(\"set(hotspot[\" + spotname + \"].onloaded,js(dummyHotSpotAdded()));\");\r\n this.pano.call(\"set(hotspot[\" + spotname + \"].trixCustom,true)\");\r\n\r\n let h = this.pano.get(\"hotspot[\" + spotname + \"]\");\r\n this.dummyHotspot = h;\r\n //console.log(\"---------------\");\r\n //console.log(hlookat, vlookat)\r\n\r\n }\r\n\r\n showAllHotspots(lFlag) {\r\n for (let x = 0; x < this.pano.get('hotspot.count'); x++) {\r\n let h = this.pano.get(\"hotspot[\" + x + \"]\");\r\n\r\n if (lFlag) {\r\n //console.log(h)\r\n if (!h.trixCustom) {\r\n if (h.oriwidth) {\r\n h.width = h.oriwidth;\r\n h.height = h.oriheight;\r\n }\r\n }\r\n } else {\r\n if (!h.oriwidth) {\r\n h.oriwidth = h.width;\r\n h.oriheight = h.height;\r\n }\r\n h.width = 0.1;\r\n h.height = 0.1;\r\n }\r\n }\r\n }\r\n\r\n\r\n showAddHotspotWindow(canvas) {\r\n var d = canvas.toDataURL(\"image/png\");\r\n /*var w = window.open('about:blank', 'image from canvas');\r\n w.document.write(\"
\");*/\r\n\r\n Main.showInterface(false)\r\n\r\n\r\n let view = this.pano.get(\"view\");\r\n let payload = new Object();\r\n payload.ath = this.dummyHlookat\r\n payload.atv = this.dummyVlookat\r\n payload.bd = d\r\n payload.hlookat = view.hlookat;\r\n payload.vlookat = view.vlookat;\r\n\r\n let ah = new AddHotspot(jQuery.proxy(this.hotspotAddedOrDismissed, this), payload);\r\n ah.init();\r\n jQuery(\".js-disabler\").hide();\r\n\r\n\r\n }\r\n\r\n\r\n hotspotAddedOrDismissed(lAdded) {\r\n this.showAllHotspots(true);\r\n this.addKeyListener(true);\r\n this.dummyHotspot.visible = false;\r\n if (lAdded) {\r\n this.onCloseModeEdit(lAdded);\r\n }\r\n }\r\n\r\n\r\n disableNavigation() {\r\n let total = this.pano.get('scene.count')\r\n let toDel = new Array();\r\n for (let x = 0; x < total; x++) {\r\n let scene = this.pano.get(\"scene[\" + x + \"]\");\r\n if (scene.name != Scene.getCurrentScene().name) {\r\n toDel.push(scene.name);\r\n }\r\n }\r\n\r\n for (let x = 0; x < toDel.length; x++) {\r\n this.pano.call('set(scene[\"' + toDel[x] + '\"].name, null)');\r\n }\r\n\r\n this.removeHotspotNavigation();\r\n\r\n\r\n }\r\n\r\n removeHotspotNavigation() {\r\n //console.log(this.pano.get('hotspot.count'))\r\n for (let x = 0; x < this.pano.get('hotspot.count'); x++) {\r\n let h = this.pano.get(\"hotspot[\" + x + \"]\");\r\n if (h.loadedurl == \"\") {\r\n h.visible = false;\r\n }\r\n }\r\n }\r\n\r\n showCloseFrameEdit() {\r\n jQuery(\".js-btn-close-edit\").show();\r\n jQuery(\".js-btn-close-edit\").on(\"click\", jQuery.proxy(this.onCloseModeEdit, this, false));\r\n }\r\n\r\n onCloseModeEdit(lAdded, e) {\r\n\r\n try {\r\n window.parent._hotSpotCmsHandler(\"close\")\r\n } catch (e) {\r\n console.log(\"CLOSE\")\r\n }\r\n }\r\n\r\n initLookupOrientamento() {\r\n\r\n let quanti = this.pano.get(\"style\").count;\r\n for (let x = 0; x < quanti; x++) {\r\n let o = this.pano.get(\"style[\" + x + \"]\");\r\n this.lookupOrientamento.push(o);\r\n }\r\n }\r\n\r\n getOrientamentoBySceneName(name) {\r\n let a = this.lookupOrientamento;\r\n for (let x = 0; x < a.length; x++) {\r\n if (a[x].linkedscene == name) {\r\n return a[x];\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n static tracking(o) {\r\n //console.log(o)\r\n let layer = null;\r\n let sce = Scene.getCurrentScene();\r\n let caption = sce.caption;\r\n let spot = sce.spot;\r\n //console.log(\"scene\" + spot);\r\n\r\n if (o.action == \"clicked-hotspot\") {\r\n //let hs = Scene.getHotspotByName(o.hotspot);\r\n layer = {\r\n 'event': 'GAevent',\r\n 'eventCategory': o.action,\r\n 'eventAction': o.hotspot + \"_\" + Main.normalizza(o.Nome)\r\n }\r\n\r\n }\r\n if (o.action == \"reached-station\") {\r\n layer = {\r\n 'event': 'GAevent',\r\n 'eventCategory': o.action,\r\n 'eventAction': Main.normalizza(o.name) //+ \"(\" + o.station + \")\"\r\n }\r\n }\r\n\r\n if (layer) {\r\n if (Main.that.track) {\r\n layer.eventCategory = \"auto_\" + layer.eventCategory;\r\n }\r\n\r\n console.log(\"---tracking---\");\r\n console.log(\"Event: \" + layer.eventCategory);\r\n console.log(\"Category: \" + \"tour_\" + Main.normalizza(PLUNGE_SETTINGS.customs.nomeNegozio));\r\n console.log(\"Label: \" + \"scene\" + spot + \"_\" + caption + \"_\" + layer.eventAction);\r\n\r\n gtag('event', layer.eventCategory, {\r\n 'event_category': \"tour_\" + Main.normalizza(PLUNGE_SETTINGS.customs.nomeNegozio),\r\n 'event_label': \"scene\" + spot + \"_\" + caption + \"_\" + layer.eventAction\r\n });\r\n }\r\n\r\n\r\n }\r\n static normalizza(s) {\r\n let ret = s.toLowerCase();\r\n ret = Pqp.safeReplace(ret, \" \", \"_\");\r\n ret = Pqp.safeReplace(ret, \"'\", \"_\");\r\n ret = Pqp.safeReplace(ret, \".\", \"\");\r\n ret = Pqp.safeReplace(ret, \",\", \"\");\r\n ret = Pqp.safeReplace(ret, \"(\", \"_\");\r\n ret = Pqp.safeReplace(ret, \")\", \"\");\r\n ret = Pqp.safeReplace(ret, \"__\", \"_\");\r\n return ret;\r\n }\r\n\r\n\r\n initAudio() {\r\n if (this.userLang === \"IT\") {\r\n let clip = jQuery(\"#template-audio\").clone();\r\n clip.removeAttr(\"id\");\r\n jQuery(\".js-trix1010\").append(clip);\r\n\r\n\r\n this.audioPanel = new AudioPanel(clip, this.userLang);\r\n let area = Scene.getCurrentScene();\r\n this.audioPanel.init(area.spot);\r\n }\r\n\r\n }\r\n\r\n removeGameHotspot(id) {\r\n let a = SceneList.SCENE;\r\n let h = null;\r\n let trovato = false;\r\n for (let x = 0; x < a.length; x++) {\r\n let hs = a[x].hotspots;\r\n for (let y = 0; y < hs.length; y++) {\r\n if (hs[y].Uid === id) {\r\n h = hs[y];\r\n trovato = true;\r\n break;\r\n }\r\n }\r\n if (trovato) {\r\n break;\r\n }\r\n }\r\n\r\n if (trovato) {\r\n this.removeHotspot(h)\r\n }\r\n\r\n }\r\n\r\n\tremoveHotspot(h) {\r\n\t\tfor (let x = 0; x < this.pano.get('hotspot.count'); x++) {\r\n\t\t\tlet hreal = this.pano.get(\"hotspot[\" + x + \"]\");\r\n\t\t\t//console.log(hreal.name + \" \"+ h.name);\r\n\t\t\tif (hreal.name == h.name) {\r\n\t\t\t\tthis.pano.set(\"hotspot[\" + x + \"].visible\", false);\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t}\r\n\r\n\r\n\r\n\r\n}\r\n\r\nMain.IS_US = false;\r\nMain.INC_DEC_ZOOM = 2;\r\nMain.SHOW_DEBUG_INFO = false;\r\n\r\nMain.HS_EVENT_HIDE_INTERFACE = \"eventHsHideInterface\";\r\nMain.HS_EVENT_SHOW_INTERFACE = \"eventHsShowInterface\";\r\n\r\nMain.ENUM = 0;\r\n\r\n","import Pqp from \"../3x1010/Pqp.js\";\r\nimport Labels from \"./Labels.js\";\r\nimport Main from \"./Main.js\";\r\n\r\nexport default class InitPano {\r\n\tconstructor() {\r\n\t\tthis.trixScripts = null;\r\n\t\tthis.trixScriptIndex = null\r\n\t\tthis.trixMain = null\r\n\t\tthis.userLang = null\r\n\t\tthis.userLangParam = null\r\n\t\tthis.startSpot = null\r\n\t\tthis.skipwi = null\r\n\t\tthis.initedLayout = false;\r\n\t\tthis.hot_hotspot = null\r\n\t\tthis.edit = false;\r\n\t\tthis.scenename = null;\r\n\t\tthis.hot_item = null;\r\n\t\tthis.url_rewrite = true;\r\n\t\tthis.track = false;\r\n\t\tthis.that = this;\t\r\n\t}\r\n\r\n\tinit() {\r\n\t\t// Per ora la lingua di base la prende da qui\r\n\t\tthis.userLang = navigator.language || navigator.userLanguage;\r\n\t\tthis.userLang = (this.userLang.split(\"-\")[0]).toUpperCase();\r\n\r\n\t\t// controlla se รจ stata passata una lingua\r\n\t\tthis.userLangParam = Pqp.getParameterByName(\"pn\");\r\n\r\n\t\t// Start spot\r\n\t\t\r\n\t\tthis.startSpot = Pqp.getParameterByName(\"spot\");\r\n\t\tif (this.startSpot) {\r\n\t\t\ttrack = true;\r\n\t\t}\r\n\r\n\t\t// Skip welcome e istruzioni\r\n\t\tthis.skipwi = Pqp.getParameterByName(\"skip\");\r\n\r\n\r\n\t\tthis.track = Pqp.getParameterByName(\"track\"); \r\n\t\tif (this.track == \"true\") {\r\n\t\t\tthis.track = true;\r\n\t\t} else {\r\n\t\t\tthis.track = false;\r\n\t\t}\r\n\r\n\r\n\t\t// hotspot da aprire\r\n\t\tthis.hot_hotspot = Pqp.getParameterByName(\"hs\");\r\n\t\t//startSpot = 18//2//14//7//28//3//28;\r\n\t\t//skipwi = true;\r\n\r\n\t\tthis.edit = Pqp.getParameterByName(\"mode\");\r\n\t\tif (this.edit == \"edit\") {\r\n\t\t\tthis.edit = true;\r\n\t\t} else {\r\n\t\t\tthis.edit = false;\r\n\t\t}\r\n\r\n\t\tthis.scenename = Pqp.getParameterByName(\"loc\");\r\n\t\tif (!this.scenename) {\r\n\t\t\tif (PLUNGE_SETTINGS.uidTour === \"abeb8226b6594aecb2f90eb017bbf33b\") {\r\n\t\t\t\tthis.scenename = 8;\r\n\t\t\t} else {\r\n\t\t\t\t// Per la prima mostra era valorizzato a 2\r\n\t\t\t\tthis.scenename = 2;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\r\n\r\n\r\n\t\tif (this.edit) {\r\n\t\t\tthis.skipwi = true;\r\n\t\t}\r\n\r\n\r\n\t\tif (this.hot_hotspot) {\r\n\t\t\tthis.skipwi = true;\r\n\t\t}\r\n\r\n\t\t/*\r\n\t\thot_item = getParameterByName(\"item\");\r\n\t\tif (!hot_hotspot) {\r\n\t\t\thot_item = null;\r\n\t\t}\r\n\t\t*/\r\n\r\n\t\t// Forza cmq l'url\r\n\t\tlet url = document.location.href\r\n\t\t/*if (url.indexOf(\"?\") >= 0) {\r\n\t\t\tlet tmp = url.split(\"?\");\r\n\t\r\n\t\r\n\t\t\turl = tmp[0];\r\n\t\t}*/\r\n\t\turl = Pqp.safeReplace(url, \"pn=IT\", \"\");\r\n\t\turl = Pqp.safeReplace(url, \"pn=EN\", \"\");\r\n\t\turl = Pqp.safeReplace(url, \"pn=DE\", \"\");\r\n\t\turl = Pqp.safeReplace(url, \"pn=FR\", \"\");\r\n\t\turl = Pqp.safeReplace(url, \"pn=ES\", \"\");\r\n\t\turl = Pqp.safeReplace(url, \"&&\", \"&\");\r\n\t\turl = Pqp.safeReplace(url, \"?&\", \"?\");\r\n\t\t/*if (url.indexOf(\"?\") >= 0) {\r\n\t\t\tlet tmp = url.split(\"?\");\r\n\t\t\t/*if (tmp[1].length == 0) {\r\n\t\t\t\turl = tmp[0];\r\n\t\t\t}*/\r\n\t\t//url = tmp[0];\r\n\t\t/*}*/\r\n\t\t//console.log(url)\r\n\r\n\t\thistory.pushState(null, '', url);\r\n\r\n\t\tthis.trixScriptIndex = 0;\r\n\t\tthis.trixScripts = [\r\n\t\t\tPLUNGE_SETTINGS.paths.BASE_URL_STORE + \"customs/js/Customs.js\",\r\n\t\t\tPLUNGE_SETTINGS.paths.BASE_URL_STORE + \"customs/js/SceneList.js\",\r\n\t\t\tPLUNGE_SETTINGS.paths.BASE_URL_STORE_DATA + \"krpano.js\"\r\n\t\t]\r\n\r\n\t\t// Carica dinamicamente alcuni assets\r\n\t\tjQuery(\".js-image-hud\").attr(\"src\", PLUNGE_SETTINGS.paths.IMAGE_MAP + \"?v=\" + PLUNGE_SETTINGS.version.TRIX_ASSETS_VERSION);\r\n\r\n\r\n\t\t// Forza dentro labels dei valori che arrivano da fuori\r\n\t\tLabels.LABELS.push(\r\n\t\t\t{\r\n\t\t\t\t\"value_fr\": \"\",\r\n\t\t\t\t\"value_en\": \"\",\r\n\t\t\t\t\"value_it\": PLUNGE_SETTINGS.customs.introTitle_it,\r\n\t\t\t\t\"value_de\": \"\",\r\n\t\t\t\t\"value_es\": \"\",\r\n\t\t\t\t\"id\": \"introTitolo\"\r\n\t\t\t}\r\n\t\t);\r\n\t\tLabels.LABELS.push(\r\n\t\t\t{\r\n\t\t\t\t\"value_fr\": \"\",\r\n\t\t\t\t\"value_en\": \"\",\r\n\t\t\t\t\"value_it\": PLUNGE_SETTINGS.customs.introText_it,\r\n\t\t\t\t\"value_de\": \"\",\r\n\t\t\t\t\"value_es\": \"\",\r\n\t\t\t\t\"id\": \"introDescrizione\"\r\n\t\t\t}\r\n\t\t);\r\n\r\n\r\n\t\t// Carica gli script necessari\r\n\t\tthis.loadNextScript();\r\n\r\n\r\n\t\t$(document).on('contextmenu', function (e) {\r\n\t\t\t// stop long touch hold from poping up context menus\r\n\t\t\treturn false;\r\n\t\t});\r\n\r\n\t}\r\n\r\n\tloadNextScript() {\r\n\t\t//jQuery.getScript(PLUNGE_SETTINGS.paths.BASE_URL + trixScripts[trixScriptIndex]+\"?v=\"+PLUNGE_SETTINGS.version.TRIX_ASSETS_VERSION, scriptLoaded);\r\n\t\t$.ajax({\r\n\t\t\turl: this.trixScripts[this.trixScriptIndex] + \"?v=\" + PLUNGE_SETTINGS.version.TRIX_ASSETS_VERSION,\r\n\t\t\tdataType: \"script\",\r\n\t\t\tsuccess: this.scriptLoaded.bind(this),\r\n\t\t\tcache: true\r\n\t\t});\r\n\t}\r\n\r\n\tscriptLoaded() {\r\n\t\t// Setta le inizializzazioni custom o il caricamento di risorse customs\r\n\t\t\r\n\t\ttry {\r\n\t\t\tCustoms.init();\r\n\t\t\tCustoms.pathResources = PLUNGE_SETTINGS.paths.BASE_URL_STORE_DATA + \"main.xml\"\r\n\r\n\t\t\tthis.setPhoneLayout();\r\n\t\t} catch (e) {\r\n\r\n\t\t}\r\n\r\n\t\tthis.trixScriptIndex++;\r\n\t\tif (this.trixScriptIndex >= this.trixScripts.length) {\r\n\t\t\tthis.allScriptsLoaded();\r\n\t\t} else {\r\n\t\t\tthis.loadNextScript();\r\n\t\t}\r\n\t}\r\n\r\n\tallScriptsLoaded() {\r\n\t\t\r\n\t\tlet lng = this.userLangParam;\r\n\t\tif (lng) {\r\n\t\t\tif (PLUNGE_SETTINGS.language.SUPPORTED_LANGUAGES.indexOf(lng) >= 0) {\r\n\t\t\t\tthis.userLang = lng;\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tthis.userLang = PLUNGE_SETTINGS.language.DEFAULT_LANGUAGE;\r\n\t\t}\r\n\t\tthis.userLang = this.userLang.toUpperCase();\r\n\r\n\t\tif (PLUNGE_SETTINGS.language.SUPPORTED_LANGUAGES.indexOf(this.userLang) < 0) {\r\n\t\t\tthis.userLang = PLUNGE_SETTINGS.language.SUPPORTED_LANGUAGES[1];\r\n\t\t}\r\n\r\n\t\tif (PLUNGE_SETTINGS.uidTour === \"abeb8226b6594aecb2f90eb017bbf33b\") {\r\n\t\t\tdebugger\r\n\t\t\tif (this.userLang !== \"IT\") {\r\n\t\t\t\tjQuery(\".js-no-eng\").remove();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// aggiunge una classe di lingua ad alcuni tag di testo\r\n\t\tjQuery(\".text-gallery\").addClass(\"text-gallery-\" + this.userLang.toLowerCase());\r\n\r\n\t\tif (this.scenename != null) {\r\n\t\t\t//let scene = Scene.getSceneByName(scenename)\r\n\t\t\t//startSpot = scene.spot;\r\n\t\t\tthis.startSpot = this.scenename;\r\n\t\t\tif (this.scenename != 0) {\r\n\t\t\t\tthis.track = true;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\r\n\t\tthis.url_rewrite = PLUNGE_SETTINGS.customs.url_rewrite;\r\n\t\tif (this.edit) {\r\n\t\t\tthis.url_rewrite = false;\r\n\t\t}\r\n\r\n\t\tlet preview = Pqp.getParameterByName(\"mode\");\r\n\t\tif (preview == \"preview\") {\r\n\t\t\tthis.url_rewrite = false;\r\n\t\t}\r\n\r\n\r\n\t\tlet fhlookat = null;\r\n\t\tlet fvlookat = null;\r\n\r\n\t\tif (this.hot_hotspot) {\r\n\t\t\tlet a = SceneList.SCENE;\r\n\t\t\tlet lFound = false;\r\n\t\t\tlet tmp\r\n\t\t\tfor (let x = 0; x < a.length; x++) {\r\n\t\t\t\tlet b = a[x].hotspots\r\n\t\t\t\tif (b) {\r\n\t\t\t\t\tfor (let y = 0; y < b.length; y++) {\r\n\t\t\t\t\t\tif (b[y].Uid == this.hot_hotspot) {\r\n\t\t\t\t\t\t\ttmp = b[y];\r\n\t\t\t\t\t\t\tlFound = true;\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tif (lFound) {\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (tmp) {\r\n\t\t\t\ttry {\r\n\t\t\t\t\tlet scene = Scene.getSceneByName(Base64.decode(tmp.scene))\r\n\t\t\t\t\tthis.startSpot = scene.spot;\r\n\t\t\t\t\tfhlookat = tmp.InfoJson.hlookat;\r\n\t\t\t\t\tfvlookat = tmp.InfoJson.vlookat;\r\n\t\t\t\t} catch (e) { \r\n\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (this.hot_hotspot) {\r\n\t\t\tthis.track = true;\r\n\t\t}\r\n\r\n\t\tconsole.log(\"----->\" + this.startSpot)\r\n\t\t/*if (this.startSpot === 0) {\r\n\t\t\tthis.startSpot = 30;\r\n\t\t}*/\r\n\t\tthis.trixMain = new Main(PLUNGE_SETTINGS.paths.BASE_URL, this.userLang, this.startSpot, this.skipwi, this.hot_hotspot, this.edit, this.hot_item, this.url_rewrite, fhlookat, fvlookat, this.track);\r\n\t\tthis.trixMain.init();\r\n\t}\r\n\r\n\tsetPhoneLayout() {\r\n\t\t\r\n\t\tif (!this.initedLayout) {\r\n\t\t\tthis.initedLayout = true;\r\n\t\t\tlet doIt = false;\r\n\t\t\tif (Pqp.isMobile()) {\r\n\t\t\t\tdoIt = true;\r\n\t\t\t}\r\n\t\t\tif (PLUNGE_SETTINGS.customs.forcePhoneLayout) {\r\n\t\t\t\tdoIt = true;\r\n\t\t\t}\r\n\t\t\tif (doIt) {\r\n\t\t\t\t// Toglie hedaer e footer\r\n\t\t\t\t/*jQuery(\"header\").parent().remove();\r\n\t\t\t\tjQuery(\"header\").remove();\r\n\t\t\t\tjQuery(\"footer\").remove();*/\r\n\r\n\t\t\t\tjQuery(\"header\").parent().hide();\r\n\t\t\t\tjQuery(\"header\").hide();\r\n\t\t\t\tjQuery(\"footer\").hide();\r\n\r\n\r\n\t\t\t\tjQuery(\".content-header-fixed\").css(\"padding-top\", 0);\r\n\r\n\t\t\t\t//jQuery(\"body\").css(\"font-size\", \"0\"); \r\n\t\t\t\tjQuery(\"body\").css(\"background-color\", \"#ffffff\"); \r\n\r\n\t\t\t\tjQuery(\".js-trix-ingombro-image\").remove();\r\n\t\t\t\tjQuery(\".js-trix1010\").css({\r\n\t\t\t\t\twidth: \"100%\"\r\n\t\t\t\t});\r\n\t\t\t\tjQuery(window).on(\"resize.dimmob\", this.setContent.bind(this));\r\n\t\t\t\tthis.setContent();\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tsetContent() {\r\n\t\tvar h = jQuery(window).height();\r\n\t\tjQuery(\"body\").css(\"height\", h);\r\n\t\tjQuery(\"body\").css(\"width\", \"99.9vw\");\r\n\t\tjQuery(\".js-trix1010\").height(h)\r\n\t}\r\n\r\n\tonViewChanged() {\r\n\t\ttrixMain.onViewChanged();\r\n\t}\r\n\r\n\tgetScreenshot() {\r\n\t\tMain.that.getScreenshot();\r\n\t}\r\n\r\n\ttest() {\r\n\r\n\t}\r\n\r\n}\r\n\r\n\r\n","import \"../scss/styles.scss\";\r\nimport InitPano from \"./engine/InitPano.js\"\r\n\r\nexport default class FactoryManager {\r\n\r\n\tstatic factory(cls,...rest) {\r\n\t\treturn new FactoryManager.classes[cls](rest);\r\n\t}\r\n\r\n}\r\n\r\nFactoryManager.classes = { InitPano }; ","\"use strict\";\n\n/* eslint-env browser */\n\n/*\n eslint-disable\n no-console,\n func-names\n*/\nvar normalizeUrl = require('./normalize-url');\n\nvar srcByModuleId = Object.create(null);\nvar noDocument = typeof document === 'undefined';\nvar forEach = Array.prototype.forEach;\n\nfunction debounce(fn, time) {\n var timeout = 0;\n return function () {\n var self = this; // eslint-disable-next-line prefer-rest-params\n\n var args = arguments;\n\n var functionCall = function functionCall() {\n return fn.apply(self, args);\n };\n\n clearTimeout(timeout);\n timeout = setTimeout(functionCall, time);\n };\n}\n\nfunction noop() {}\n\nfunction getCurrentScriptUrl(moduleId) {\n var src = srcByModuleId[moduleId];\n\n if (!src) {\n if (document.currentScript) {\n src = document.currentScript.src;\n } else {\n var scripts = document.getElementsByTagName('script');\n var lastScriptTag = scripts[scripts.length - 1];\n\n if (lastScriptTag) {\n src = lastScriptTag.src;\n }\n }\n\n srcByModuleId[moduleId] = src;\n }\n\n return function (fileMap) {\n if (!src) {\n return null;\n }\n\n var splitResult = src.split(/([^\\\\/]+)\\.js$/);\n var filename = splitResult && splitResult[1];\n\n if (!filename) {\n return [src.replace('.js', '.css')];\n }\n\n if (!fileMap) {\n return [src.replace('.js', '.css')];\n }\n\n return fileMap.split(',').map(function (mapRule) {\n var reg = new RegExp(\"\".concat(filename, \"\\\\.js$\"), 'g');\n return normalizeUrl(src.replace(reg, \"\".concat(mapRule.replace(/{fileName}/g, filename), \".css\")));\n });\n };\n}\n\nfunction updateCss(el, url) {\n if (!url) {\n if (!el.href) {\n return;\n } // eslint-disable-next-line\n\n\n url = el.href.split('?')[0];\n }\n\n if (!isUrlRequest(url)) {\n return;\n }\n\n if (el.isLoaded === false) {\n // We seem to be about to replace a css link that hasn't loaded yet.\n // We're probably changing the same file more than once.\n return;\n }\n\n if (!url || !(url.indexOf('.css') > -1)) {\n return;\n } // eslint-disable-next-line no-param-reassign\n\n\n el.visited = true;\n var newEl = el.cloneNode();\n newEl.isLoaded = false;\n newEl.addEventListener('load', function () {\n newEl.isLoaded = true;\n el.parentNode.removeChild(el);\n });\n newEl.addEventListener('error', function () {\n newEl.isLoaded = true;\n el.parentNode.removeChild(el);\n });\n newEl.href = \"\".concat(url, \"?\").concat(Date.now());\n\n if (el.nextSibling) {\n el.parentNode.insertBefore(newEl, el.nextSibling);\n } else {\n el.parentNode.appendChild(newEl);\n }\n}\n\nfunction getReloadUrl(href, src) {\n var ret; // eslint-disable-next-line no-param-reassign\n\n href = normalizeUrl(href, {\n stripWWW: false\n }); // eslint-disable-next-line array-callback-return\n\n src.some(function (url) {\n if (href.indexOf(src) > -1) {\n ret = url;\n }\n });\n return ret;\n}\n\nfunction reloadStyle(src) {\n if (!src) {\n return false;\n }\n\n var elements = document.querySelectorAll('link');\n var loaded = false;\n forEach.call(elements, function (el) {\n if (!el.href) {\n return;\n }\n\n var url = getReloadUrl(el.href, src);\n\n if (!isUrlRequest(url)) {\n return;\n }\n\n if (el.visited === true) {\n return;\n }\n\n if (url) {\n updateCss(el, url);\n loaded = true;\n }\n });\n return loaded;\n}\n\nfunction reloadAll() {\n var elements = document.querySelectorAll('link');\n forEach.call(elements, function (el) {\n if (el.visited === true) {\n return;\n }\n\n updateCss(el);\n });\n}\n\nfunction isUrlRequest(url) {\n // An URL is not an request if\n // It is not http or https\n if (!/^https?:/i.test(url)) {\n return false;\n }\n\n return true;\n}\n\nmodule.exports = function (moduleId, options) {\n if (noDocument) {\n console.log('no window.document found, will not HMR CSS');\n return noop;\n }\n\n var getScriptSrc = getCurrentScriptUrl(moduleId);\n\n function update() {\n var src = getScriptSrc(options.filename);\n var reloaded = reloadStyle(src);\n\n if (options.locals) {\n console.log('[HMR] Detected local css modules. Reload all css');\n reloadAll();\n return;\n }\n\n if (reloaded) {\n console.log('[HMR] css reload %s', src.join(' '));\n } else {\n console.log('[HMR] Reload all css');\n reloadAll();\n }\n }\n\n return debounce(update, 50);\n};","\"use strict\";\n\n/* eslint-disable */\nfunction normalizeUrl(pathComponents) {\n return pathComponents.reduce(function (accumulator, item) {\n switch (item) {\n case '..':\n accumulator.pop();\n break;\n\n case '.':\n break;\n\n default:\n accumulator.push(item);\n }\n\n return accumulator;\n }, []).join('/');\n}\n\nmodule.exports = function (urlString) {\n urlString = urlString.trim();\n\n if (/^data:/i.test(urlString)) {\n return urlString;\n }\n\n var protocol = urlString.indexOf('//') !== -1 ? urlString.split('//')[0] + '//' : '';\n var components = urlString.replace(new RegExp(protocol, 'i'), '').split('/');\n var host = components[0].toLowerCase().replace(/\\.$/, '');\n components[0] = '';\n var path = normalizeUrl(components);\n return protocol + host + path;\n};","// extracted by mini-css-extract-plugin\nexport {};\n if(module.hot) {\n // 1688379866130\n var cssReload = require(\"E:/3x1010/Projects-Plunge/plungeImaginarium.it/VisualStudio/Web/node_modules/mini-css-extract-plugin/dist/hmr/hotModuleReplacement.js\")(module.id, {\"publicPath\":\"../../\",\"locals\":false});\n module.hot.dispose(cssReload);\n module.hot.accept(undefined, cssReload);\n }\n ","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tif(__webpack_module_cache__[moduleId]) {\n\t\treturn __webpack_module_cache__[moduleId].exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\tvar execOptions = { id: moduleId, module: module, factory: __webpack_modules__[moduleId], require: __webpack_require__ };\n\t__webpack_require__.i.forEach(function(handler) { handler(execOptions); });\n\tmodule = execOptions.module;\n\texecOptions.factory.call(module.exports, module, module.exports, execOptions.require);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n// expose the module cache\n__webpack_require__.c = __webpack_module_cache__;\n\n// expose the module execution interceptor\n__webpack_require__.i = [];\n\n","// module cache are used so entry inlining is disabled\n// startup\n// Load entry module and return exports\nreturn __webpack_require__(181);\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","// This function allow to reference all chunks\n__webpack_require__.hu = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"\" + chunkId + \".\" + __webpack_require__.h() + \".hot-update.js\";\n};","// This function allow to reference all chunks\n__webpack_require__.miniCssF = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"../css/styles.css\";\n};","__webpack_require__.hmrF = () => \"app.\" + __webpack_require__.h() + \".hot-update.json\";","__webpack_require__.h = () => \"5a7f7025d14d7d61b634\"","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop)","var currentModuleData = {};\nvar installedModules = __webpack_require__.c;\n\n// module and require creation\nvar currentChildModule;\nvar currentParents = [];\n\n// status\nvar registeredStatusHandlers = [];\nvar currentStatus = \"idle\";\n\n// while downloading\nvar blockingPromises;\n\n// The update info\nvar currentUpdateApplyHandlers;\nvar queuedInvalidatedModules;\n\n// eslint-disable-next-line no-unused-vars\n__webpack_require__.hmrD = currentModuleData;\n\n__webpack_require__.i.push(function (options) {\n\tvar module = options.module;\n\tvar require = createRequire(options.require, options.id);\n\tmodule.hot = createModuleHotObject(options.id, module);\n\tmodule.parents = currentParents;\n\tmodule.children = [];\n\tcurrentParents = [];\n\toptions.require = require;\n});\n\n__webpack_require__.hmrC = {};\n__webpack_require__.hmrI = {};\n\nfunction createRequire(require, moduleId) {\n\tvar me = installedModules[moduleId];\n\tif (!me) return require;\n\tvar fn = function (request) {\n\t\tif (me.hot.active) {\n\t\t\tif (installedModules[request]) {\n\t\t\t\tvar parents = installedModules[request].parents;\n\t\t\t\tif (parents.indexOf(moduleId) === -1) {\n\t\t\t\t\tparents.push(moduleId);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tcurrentParents = [moduleId];\n\t\t\t\tcurrentChildModule = request;\n\t\t\t}\n\t\t\tif (me.children.indexOf(request) === -1) {\n\t\t\t\tme.children.push(request);\n\t\t\t}\n\t\t} else {\n\t\t\tconsole.warn(\n\t\t\t\t\"[HMR] unexpected require(\" +\n\t\t\t\t\trequest +\n\t\t\t\t\t\") from disposed module \" +\n\t\t\t\t\tmoduleId\n\t\t\t);\n\t\t\tcurrentParents = [];\n\t\t}\n\t\treturn require(request);\n\t};\n\tvar createPropertyDescriptor = function (name) {\n\t\treturn {\n\t\t\tconfigurable: true,\n\t\t\tenumerable: true,\n\t\t\tget: function () {\n\t\t\t\treturn require[name];\n\t\t\t},\n\t\t\tset: function (value) {\n\t\t\t\trequire[name] = value;\n\t\t\t}\n\t\t};\n\t};\n\tfor (var name in require) {\n\t\tif (Object.prototype.hasOwnProperty.call(require, name) && name !== \"e\") {\n\t\t\tObject.defineProperty(fn, name, createPropertyDescriptor(name));\n\t\t}\n\t}\n\tfn.e = function (chunkId) {\n\t\treturn trackBlockingPromise(require.e(chunkId));\n\t};\n\treturn fn;\n}\n\nfunction createModuleHotObject(moduleId, me) {\n\tvar hot = {\n\t\t// private stuff\n\t\t_acceptedDependencies: {},\n\t\t_declinedDependencies: {},\n\t\t_selfAccepted: false,\n\t\t_selfDeclined: false,\n\t\t_selfInvalidated: false,\n\t\t_disposeHandlers: [],\n\t\t_main: currentChildModule !== moduleId,\n\t\t_requireSelf: function () {\n\t\t\tcurrentParents = me.parents.slice();\n\t\t\tcurrentChildModule = moduleId;\n\t\t\t__webpack_require__(moduleId);\n\t\t},\n\n\t\t// Module API\n\t\tactive: true,\n\t\taccept: function (dep, callback) {\n\t\t\tif (dep === undefined) hot._selfAccepted = true;\n\t\t\telse if (typeof dep === \"function\") hot._selfAccepted = dep;\n\t\t\telse if (typeof dep === \"object\" && dep !== null)\n\t\t\t\tfor (var i = 0; i < dep.length; i++)\n\t\t\t\t\thot._acceptedDependencies[dep[i]] = callback || function () {};\n\t\t\telse hot._acceptedDependencies[dep] = callback || function () {};\n\t\t},\n\t\tdecline: function (dep) {\n\t\t\tif (dep === undefined) hot._selfDeclined = true;\n\t\t\telse if (typeof dep === \"object\" && dep !== null)\n\t\t\t\tfor (var i = 0; i < dep.length; i++)\n\t\t\t\t\thot._declinedDependencies[dep[i]] = true;\n\t\t\telse hot._declinedDependencies[dep] = true;\n\t\t},\n\t\tdispose: function (callback) {\n\t\t\thot._disposeHandlers.push(callback);\n\t\t},\n\t\taddDisposeHandler: function (callback) {\n\t\t\thot._disposeHandlers.push(callback);\n\t\t},\n\t\tremoveDisposeHandler: function (callback) {\n\t\t\tvar idx = hot._disposeHandlers.indexOf(callback);\n\t\t\tif (idx >= 0) hot._disposeHandlers.splice(idx, 1);\n\t\t},\n\t\tinvalidate: function () {\n\t\t\tthis._selfInvalidated = true;\n\t\t\tswitch (currentStatus) {\n\t\t\t\tcase \"idle\":\n\t\t\t\t\tcurrentUpdateApplyHandlers = [];\n\t\t\t\t\tObject.keys(__webpack_require__.hmrI).forEach(function (key) {\n\t\t\t\t\t\t__webpack_require__.hmrI[key](\n\t\t\t\t\t\t\tmoduleId,\n\t\t\t\t\t\t\tcurrentUpdateApplyHandlers\n\t\t\t\t\t\t);\n\t\t\t\t\t});\n\t\t\t\t\tsetStatus(\"ready\");\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"ready\":\n\t\t\t\t\tObject.keys(__webpack_require__.hmrI).forEach(function (key) {\n\t\t\t\t\t\t__webpack_require__.hmrI[key](\n\t\t\t\t\t\t\tmoduleId,\n\t\t\t\t\t\t\tcurrentUpdateApplyHandlers\n\t\t\t\t\t\t);\n\t\t\t\t\t});\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"prepare\":\n\t\t\t\tcase \"check\":\n\t\t\t\tcase \"dispose\":\n\t\t\t\tcase \"apply\":\n\t\t\t\t\t(queuedInvalidatedModules = queuedInvalidatedModules || []).push(\n\t\t\t\t\t\tmoduleId\n\t\t\t\t\t);\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\t// ignore requests in error states\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t},\n\n\t\t// Management API\n\t\tcheck: hotCheck,\n\t\tapply: hotApply,\n\t\tstatus: function (l) {\n\t\t\tif (!l) return currentStatus;\n\t\t\tregisteredStatusHandlers.push(l);\n\t\t},\n\t\taddStatusHandler: function (l) {\n\t\t\tregisteredStatusHandlers.push(l);\n\t\t},\n\t\tremoveStatusHandler: function (l) {\n\t\t\tvar idx = registeredStatusHandlers.indexOf(l);\n\t\t\tif (idx >= 0) registeredStatusHandlers.splice(idx, 1);\n\t\t},\n\n\t\t//inherit from previous dispose call\n\t\tdata: currentModuleData[moduleId]\n\t};\n\tcurrentChildModule = undefined;\n\treturn hot;\n}\n\nfunction setStatus(newStatus) {\n\tcurrentStatus = newStatus;\n\tfor (var i = 0; i < registeredStatusHandlers.length; i++)\n\t\tregisteredStatusHandlers[i].call(null, newStatus);\n}\n\nfunction trackBlockingPromise(promise) {\n\tswitch (currentStatus) {\n\t\tcase \"ready\":\n\t\t\tsetStatus(\"prepare\");\n\t\t\tblockingPromises.push(promise);\n\t\t\twaitForBlockingPromises(function () {\n\t\t\t\tsetStatus(\"ready\");\n\t\t\t});\n\t\t\treturn promise;\n\t\tcase \"prepare\":\n\t\t\tblockingPromises.push(promise);\n\t\t\treturn promise;\n\t\tdefault:\n\t\t\treturn promise;\n\t}\n}\n\nfunction waitForBlockingPromises(fn) {\n\tif (blockingPromises.length === 0) return fn();\n\tvar blocker = blockingPromises;\n\tblockingPromises = [];\n\treturn Promise.all(blocker).then(function () {\n\t\treturn waitForBlockingPromises(fn);\n\t});\n}\n\nfunction hotCheck(applyOnUpdate) {\n\tif (currentStatus !== \"idle\") {\n\t\tthrow new Error(\"check() is only allowed in idle status\");\n\t}\n\tsetStatus(\"check\");\n\treturn __webpack_require__.hmrM().then(function (update) {\n\t\tif (!update) {\n\t\t\tsetStatus(applyInvalidatedModules() ? \"ready\" : \"idle\");\n\t\t\treturn null;\n\t\t}\n\n\t\tsetStatus(\"prepare\");\n\n\t\tvar updatedModules = [];\n\t\tblockingPromises = [];\n\t\tcurrentUpdateApplyHandlers = [];\n\n\t\treturn Promise.all(\n\t\t\tObject.keys(__webpack_require__.hmrC).reduce(function (\n\t\t\t\tpromises,\n\t\t\t\tkey\n\t\t\t) {\n\t\t\t\t__webpack_require__.hmrC[key](\n\t\t\t\t\tupdate.c,\n\t\t\t\t\tupdate.r,\n\t\t\t\t\tupdate.m,\n\t\t\t\t\tpromises,\n\t\t\t\t\tcurrentUpdateApplyHandlers,\n\t\t\t\t\tupdatedModules\n\t\t\t\t);\n\t\t\t\treturn promises;\n\t\t\t},\n\t\t\t[])\n\t\t).then(function () {\n\t\t\treturn waitForBlockingPromises(function () {\n\t\t\t\tif (applyOnUpdate) {\n\t\t\t\t\treturn internalApply(applyOnUpdate);\n\t\t\t\t} else {\n\t\t\t\t\tsetStatus(\"ready\");\n\n\t\t\t\t\treturn updatedModules;\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t});\n}\n\nfunction hotApply(options) {\n\tif (currentStatus !== \"ready\") {\n\t\treturn Promise.resolve().then(function () {\n\t\t\tthrow new Error(\"apply() is only allowed in ready status\");\n\t\t});\n\t}\n\treturn internalApply(options);\n}\n\nfunction internalApply(options) {\n\toptions = options || {};\n\n\tapplyInvalidatedModules();\n\n\tvar results = currentUpdateApplyHandlers.map(function (handler) {\n\t\treturn handler(options);\n\t});\n\tcurrentUpdateApplyHandlers = undefined;\n\n\tvar errors = results\n\t\t.map(function (r) {\n\t\t\treturn r.error;\n\t\t})\n\t\t.filter(Boolean);\n\n\tif (errors.length > 0) {\n\t\tsetStatus(\"abort\");\n\t\treturn Promise.resolve().then(function () {\n\t\t\tthrow errors[0];\n\t\t});\n\t}\n\n\t// Now in \"dispose\" phase\n\tsetStatus(\"dispose\");\n\n\tresults.forEach(function (result) {\n\t\tif (result.dispose) result.dispose();\n\t});\n\n\t// Now in \"apply\" phase\n\tsetStatus(\"apply\");\n\n\tvar error;\n\tvar reportError = function (err) {\n\t\tif (!error) error = err;\n\t};\n\n\tvar outdatedModules = [];\n\tresults.forEach(function (result) {\n\t\tif (result.apply) {\n\t\t\tvar modules = result.apply(reportError);\n\t\t\tif (modules) {\n\t\t\t\tfor (var i = 0; i < modules.length; i++) {\n\t\t\t\t\toutdatedModules.push(modules[i]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\n\t// handle errors in accept handlers and self accepted module load\n\tif (error) {\n\t\tsetStatus(\"fail\");\n\t\treturn Promise.resolve().then(function () {\n\t\t\tthrow error;\n\t\t});\n\t}\n\n\tif (queuedInvalidatedModules) {\n\t\treturn internalApply(options).then(function (list) {\n\t\t\toutdatedModules.forEach(function (moduleId) {\n\t\t\t\tif (list.indexOf(moduleId) < 0) list.push(moduleId);\n\t\t\t});\n\t\t\treturn list;\n\t\t});\n\t}\n\n\tsetStatus(\"idle\");\n\treturn Promise.resolve(outdatedModules);\n}\n\nfunction applyInvalidatedModules() {\n\tif (queuedInvalidatedModules) {\n\t\tif (!currentUpdateApplyHandlers) currentUpdateApplyHandlers = [];\n\t\tObject.keys(__webpack_require__.hmrI).forEach(function (key) {\n\t\t\tqueuedInvalidatedModules.forEach(function (moduleId) {\n\t\t\t\t__webpack_require__.hmrI[key](\n\t\t\t\t\tmoduleId,\n\t\t\t\t\tcurrentUpdateApplyHandlers\n\t\t\t\t);\n\t\t\t});\n\t\t});\n\t\tqueuedInvalidatedModules = undefined;\n\t\treturn true;\n\t}\n}","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) scriptUrl = scripts[scripts.length - 1].src\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// Promise = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t143: 0\n};\n\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\nvar currentUpdatedModulesList;\nvar waitingUpdateResolves = {};\nfunction loadUpdateChunk(chunkId) {\n\treturn new Promise((resolve, reject) => {\n\t\twaitingUpdateResolves[chunkId] = resolve;\n\t\t// start update chunk loading\n\t\tvar url = __webpack_require__.p + __webpack_require__.hu(chunkId);\n\t\t// create error before stack unwound to get useful stacktrace later\n\t\tvar error = new Error();\n\t\tvar loadingEnded = (event) => {\n\t\t\tif(waitingUpdateResolves[chunkId]) {\n\t\t\t\twaitingUpdateResolves[chunkId] = undefined\n\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\terror.message = 'Loading hot update chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\terror.type = errorType;\n\t\t\t\terror.request = realSrc;\n\t\t\t\treject(error);\n\t\t\t}\n\t\t};\n\t\t__webpack_require__.l(url, loadingEnded);\n\t});\n}\n\nself[\"webpackHotUpdateFactoryManager\"] = (chunkId, moreModules, runtime) => {\n\tfor(var moduleId in moreModules) {\n\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\tcurrentUpdate[moduleId] = moreModules[moduleId];\n\t\t\tif(currentUpdatedModulesList) currentUpdatedModulesList.push(moduleId);\n\t\t}\n\t}\n\tif(runtime) currentUpdateRuntime.push(runtime);\n\tif(waitingUpdateResolves[chunkId]) {\n\t\twaitingUpdateResolves[chunkId]();\n\t\twaitingUpdateResolves[chunkId] = undefined;\n\t}\n};\n\nvar currentUpdateChunks;\nvar currentUpdate;\nvar currentUpdateRemovedChunks;\nvar currentUpdateRuntime;\nfunction applyHandler(options) {\n\tif (__webpack_require__.f) delete __webpack_require__.f.jsonpHmr;\n\tcurrentUpdateChunks = undefined;\n\tfunction getAffectedModuleEffects(updateModuleId) {\n\t\tvar outdatedModules = [updateModuleId];\n\t\tvar outdatedDependencies = {};\n\n\t\tvar queue = outdatedModules.map(function (id) {\n\t\t\treturn {\n\t\t\t\tchain: [id],\n\t\t\t\tid: id\n\t\t\t};\n\t\t});\n\t\twhile (queue.length > 0) {\n\t\t\tvar queueItem = queue.pop();\n\t\t\tvar moduleId = queueItem.id;\n\t\t\tvar chain = queueItem.chain;\n\t\t\tvar module = __webpack_require__.c[moduleId];\n\t\t\tif (\n\t\t\t\t!module ||\n\t\t\t\t(module.hot._selfAccepted && !module.hot._selfInvalidated)\n\t\t\t)\n\t\t\t\tcontinue;\n\t\t\tif (module.hot._selfDeclined) {\n\t\t\t\treturn {\n\t\t\t\t\ttype: \"self-declined\",\n\t\t\t\t\tchain: chain,\n\t\t\t\t\tmoduleId: moduleId\n\t\t\t\t};\n\t\t\t}\n\t\t\tif (module.hot._main) {\n\t\t\t\treturn {\n\t\t\t\t\ttype: \"unaccepted\",\n\t\t\t\t\tchain: chain,\n\t\t\t\t\tmoduleId: moduleId\n\t\t\t\t};\n\t\t\t}\n\t\t\tfor (var i = 0; i < module.parents.length; i++) {\n\t\t\t\tvar parentId = module.parents[i];\n\t\t\t\tvar parent = __webpack_require__.c[parentId];\n\t\t\t\tif (!parent) continue;\n\t\t\t\tif (parent.hot._declinedDependencies[moduleId]) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttype: \"declined\",\n\t\t\t\t\t\tchain: chain.concat([parentId]),\n\t\t\t\t\t\tmoduleId: moduleId,\n\t\t\t\t\t\tparentId: parentId\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tif (outdatedModules.indexOf(parentId) !== -1) continue;\n\t\t\t\tif (parent.hot._acceptedDependencies[moduleId]) {\n\t\t\t\t\tif (!outdatedDependencies[parentId])\n\t\t\t\t\t\toutdatedDependencies[parentId] = [];\n\t\t\t\t\taddAllToSet(outdatedDependencies[parentId], [moduleId]);\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tdelete outdatedDependencies[parentId];\n\t\t\t\toutdatedModules.push(parentId);\n\t\t\t\tqueue.push({\n\t\t\t\t\tchain: chain.concat([parentId]),\n\t\t\t\t\tid: parentId\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\ttype: \"accepted\",\n\t\t\tmoduleId: updateModuleId,\n\t\t\toutdatedModules: outdatedModules,\n\t\t\toutdatedDependencies: outdatedDependencies\n\t\t};\n\t}\n\n\tfunction addAllToSet(a, b) {\n\t\tfor (var i = 0; i < b.length; i++) {\n\t\t\tvar item = b[i];\n\t\t\tif (a.indexOf(item) === -1) a.push(item);\n\t\t}\n\t}\n\n\t// at begin all updates modules are outdated\n\t// the \"outdated\" status can propagate to parents if they don't accept the children\n\tvar outdatedDependencies = {};\n\tvar outdatedModules = [];\n\tvar appliedUpdate = {};\n\n\tvar warnUnexpectedRequire = function warnUnexpectedRequire(module) {\n\t\tconsole.warn(\n\t\t\t\"[HMR] unexpected require(\" + module.id + \") to disposed module\"\n\t\t);\n\t};\n\n\tfor (var moduleId in currentUpdate) {\n\t\tif (__webpack_require__.o(currentUpdate, moduleId)) {\n\t\t\tvar newModuleFactory = currentUpdate[moduleId];\n\t\t\t/** @type {TODO} */\n\t\t\tvar result;\n\t\t\tif (newModuleFactory) {\n\t\t\t\tresult = getAffectedModuleEffects(moduleId);\n\t\t\t} else {\n\t\t\t\tresult = {\n\t\t\t\t\ttype: \"disposed\",\n\t\t\t\t\tmoduleId: moduleId\n\t\t\t\t};\n\t\t\t}\n\t\t\t/** @type {Error|false} */\n\t\t\tvar abortError = false;\n\t\t\tvar doApply = false;\n\t\t\tvar doDispose = false;\n\t\t\tvar chainInfo = \"\";\n\t\t\tif (result.chain) {\n\t\t\t\tchainInfo = \"\\nUpdate propagation: \" + result.chain.join(\" -> \");\n\t\t\t}\n\t\t\tswitch (result.type) {\n\t\t\t\tcase \"self-declined\":\n\t\t\t\t\tif (options.onDeclined) options.onDeclined(result);\n\t\t\t\t\tif (!options.ignoreDeclined)\n\t\t\t\t\t\tabortError = new Error(\n\t\t\t\t\t\t\t\"Aborted because of self decline: \" +\n\t\t\t\t\t\t\t\tresult.moduleId +\n\t\t\t\t\t\t\t\tchainInfo\n\t\t\t\t\t\t);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"declined\":\n\t\t\t\t\tif (options.onDeclined) options.onDeclined(result);\n\t\t\t\t\tif (!options.ignoreDeclined)\n\t\t\t\t\t\tabortError = new Error(\n\t\t\t\t\t\t\t\"Aborted because of declined dependency: \" +\n\t\t\t\t\t\t\t\tresult.moduleId +\n\t\t\t\t\t\t\t\t\" in \" +\n\t\t\t\t\t\t\t\tresult.parentId +\n\t\t\t\t\t\t\t\tchainInfo\n\t\t\t\t\t\t);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"unaccepted\":\n\t\t\t\t\tif (options.onUnaccepted) options.onUnaccepted(result);\n\t\t\t\t\tif (!options.ignoreUnaccepted)\n\t\t\t\t\t\tabortError = new Error(\n\t\t\t\t\t\t\t\"Aborted because \" + moduleId + \" is not accepted\" + chainInfo\n\t\t\t\t\t\t);\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"accepted\":\n\t\t\t\t\tif (options.onAccepted) options.onAccepted(result);\n\t\t\t\t\tdoApply = true;\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"disposed\":\n\t\t\t\t\tif (options.onDisposed) options.onDisposed(result);\n\t\t\t\t\tdoDispose = true;\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tthrow new Error(\"Unexception type \" + result.type);\n\t\t\t}\n\t\t\tif (abortError) {\n\t\t\t\treturn {\n\t\t\t\t\terror: abortError\n\t\t\t\t};\n\t\t\t}\n\t\t\tif (doApply) {\n\t\t\t\tappliedUpdate[moduleId] = newModuleFactory;\n\t\t\t\taddAllToSet(outdatedModules, result.outdatedModules);\n\t\t\t\tfor (moduleId in result.outdatedDependencies) {\n\t\t\t\t\tif (__webpack_require__.o(result.outdatedDependencies, moduleId)) {\n\t\t\t\t\t\tif (!outdatedDependencies[moduleId])\n\t\t\t\t\t\t\toutdatedDependencies[moduleId] = [];\n\t\t\t\t\t\taddAllToSet(\n\t\t\t\t\t\t\toutdatedDependencies[moduleId],\n\t\t\t\t\t\t\tresult.outdatedDependencies[moduleId]\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (doDispose) {\n\t\t\t\taddAllToSet(outdatedModules, [result.moduleId]);\n\t\t\t\tappliedUpdate[moduleId] = warnUnexpectedRequire;\n\t\t\t}\n\t\t}\n\t}\n\tcurrentUpdate = undefined;\n\n\t// Store self accepted outdated modules to require them later by the module system\n\tvar outdatedSelfAcceptedModules = [];\n\tfor (var j = 0; j < outdatedModules.length; j++) {\n\t\tvar outdatedModuleId = outdatedModules[j];\n\t\tif (\n\t\t\t__webpack_require__.c[outdatedModuleId] &&\n\t\t\t__webpack_require__.c[outdatedModuleId].hot._selfAccepted &&\n\t\t\t// removed self-accepted modules should not be required\n\t\t\tappliedUpdate[outdatedModuleId] !== warnUnexpectedRequire &&\n\t\t\t// when called invalidate self-accepting is not possible\n\t\t\t!__webpack_require__.c[outdatedModuleId].hot._selfInvalidated\n\t\t) {\n\t\t\toutdatedSelfAcceptedModules.push({\n\t\t\t\tmodule: outdatedModuleId,\n\t\t\t\trequire: __webpack_require__.c[outdatedModuleId].hot._requireSelf,\n\t\t\t\terrorHandler: __webpack_require__.c[outdatedModuleId].hot._selfAccepted\n\t\t\t});\n\t\t}\n\t}\n\n\tvar moduleOutdatedDependencies;\n\n\treturn {\n\t\tdispose: function () {\n\t\t\tcurrentUpdateRemovedChunks.forEach(function (chunkId) {\n\t\t\t\tdelete installedChunks[chunkId];\n\t\t\t});\n\t\t\tcurrentUpdateRemovedChunks = undefined;\n\n\t\t\tvar idx;\n\t\t\tvar queue = outdatedModules.slice();\n\t\t\twhile (queue.length > 0) {\n\t\t\t\tvar moduleId = queue.pop();\n\t\t\t\tvar module = __webpack_require__.c[moduleId];\n\t\t\t\tif (!module) continue;\n\n\t\t\t\tvar data = {};\n\n\t\t\t\t// Call dispose handlers\n\t\t\t\tvar disposeHandlers = module.hot._disposeHandlers;\n\t\t\t\tfor (j = 0; j < disposeHandlers.length; j++) {\n\t\t\t\t\tdisposeHandlers[j].call(null, data);\n\t\t\t\t}\n\t\t\t\t__webpack_require__.hmrD[moduleId] = data;\n\n\t\t\t\t// disable module (this disables requires from this module)\n\t\t\t\tmodule.hot.active = false;\n\n\t\t\t\t// remove module from cache\n\t\t\t\tdelete __webpack_require__.c[moduleId];\n\n\t\t\t\t// when disposing there is no need to call dispose handler\n\t\t\t\tdelete outdatedDependencies[moduleId];\n\n\t\t\t\t// remove \"parents\" references from all children\n\t\t\t\tfor (j = 0; j < module.children.length; j++) {\n\t\t\t\t\tvar child = __webpack_require__.c[module.children[j]];\n\t\t\t\t\tif (!child) continue;\n\t\t\t\t\tidx = child.parents.indexOf(moduleId);\n\t\t\t\t\tif (idx >= 0) {\n\t\t\t\t\t\tchild.parents.splice(idx, 1);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// remove outdated dependency from module children\n\t\t\tvar dependency;\n\t\t\tfor (var outdatedModuleId in outdatedDependencies) {\n\t\t\t\tif (__webpack_require__.o(outdatedDependencies, outdatedModuleId)) {\n\t\t\t\t\tmodule = __webpack_require__.c[outdatedModuleId];\n\t\t\t\t\tif (module) {\n\t\t\t\t\t\tmoduleOutdatedDependencies =\n\t\t\t\t\t\t\toutdatedDependencies[outdatedModuleId];\n\t\t\t\t\t\tfor (j = 0; j < moduleOutdatedDependencies.length; j++) {\n\t\t\t\t\t\t\tdependency = moduleOutdatedDependencies[j];\n\t\t\t\t\t\t\tidx = module.children.indexOf(dependency);\n\t\t\t\t\t\t\tif (idx >= 0) module.children.splice(idx, 1);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tapply: function (reportError) {\n\t\t\t// insert new code\n\t\t\tfor (var updateModuleId in appliedUpdate) {\n\t\t\t\tif (__webpack_require__.o(appliedUpdate, updateModuleId)) {\n\t\t\t\t\t__webpack_require__.m[updateModuleId] = appliedUpdate[updateModuleId];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// run new runtime modules\n\t\t\tfor (var i = 0; i < currentUpdateRuntime.length; i++) {\n\t\t\t\tcurrentUpdateRuntime[i](__webpack_require__);\n\t\t\t}\n\n\t\t\t// call accept handlers\n\t\t\tfor (var outdatedModuleId in outdatedDependencies) {\n\t\t\t\tif (__webpack_require__.o(outdatedDependencies, outdatedModuleId)) {\n\t\t\t\t\tvar module = __webpack_require__.c[outdatedModuleId];\n\t\t\t\t\tif (module) {\n\t\t\t\t\t\tmoduleOutdatedDependencies =\n\t\t\t\t\t\t\toutdatedDependencies[outdatedModuleId];\n\t\t\t\t\t\tvar callbacks = [];\n\t\t\t\t\t\tvar dependenciesForCallbacks = [];\n\t\t\t\t\t\tfor (var j = 0; j < moduleOutdatedDependencies.length; j++) {\n\t\t\t\t\t\t\tvar dependency = moduleOutdatedDependencies[j];\n\t\t\t\t\t\t\tvar acceptCallback =\n\t\t\t\t\t\t\t\tmodule.hot._acceptedDependencies[dependency];\n\t\t\t\t\t\t\tif (acceptCallback) {\n\t\t\t\t\t\t\t\tif (callbacks.indexOf(acceptCallback) !== -1) continue;\n\t\t\t\t\t\t\t\tcallbacks.push(acceptCallback);\n\t\t\t\t\t\t\t\tdependenciesForCallbacks.push(dependency);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tfor (var k = 0; k < callbacks.length; k++) {\n\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\tcallbacks[k].call(null, moduleOutdatedDependencies);\n\t\t\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\t\t\tif (options.onErrored) {\n\t\t\t\t\t\t\t\t\toptions.onErrored({\n\t\t\t\t\t\t\t\t\t\ttype: \"accept-errored\",\n\t\t\t\t\t\t\t\t\t\tmoduleId: outdatedModuleId,\n\t\t\t\t\t\t\t\t\t\tdependencyId: dependenciesForCallbacks[k],\n\t\t\t\t\t\t\t\t\t\terror: err\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif (!options.ignoreErrored) {\n\t\t\t\t\t\t\t\t\treportError(err);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Load self accepted modules\n\t\t\tfor (var o = 0; o < outdatedSelfAcceptedModules.length; o++) {\n\t\t\t\tvar item = outdatedSelfAcceptedModules[o];\n\t\t\t\tvar moduleId = item.module;\n\t\t\t\ttry {\n\t\t\t\t\titem.require(moduleId);\n\t\t\t\t} catch (err) {\n\t\t\t\t\tif (typeof item.errorHandler === \"function\") {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\titem.errorHandler(err);\n\t\t\t\t\t\t} catch (err2) {\n\t\t\t\t\t\t\tif (options.onErrored) {\n\t\t\t\t\t\t\t\toptions.onErrored({\n\t\t\t\t\t\t\t\t\ttype: \"self-accept-error-handler-errored\",\n\t\t\t\t\t\t\t\t\tmoduleId: moduleId,\n\t\t\t\t\t\t\t\t\terror: err2,\n\t\t\t\t\t\t\t\t\toriginalError: err\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (!options.ignoreErrored) {\n\t\t\t\t\t\t\t\treportError(err2);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treportError(err);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (options.onErrored) {\n\t\t\t\t\t\t\toptions.onErrored({\n\t\t\t\t\t\t\t\ttype: \"self-accept-errored\",\n\t\t\t\t\t\t\t\tmoduleId: moduleId,\n\t\t\t\t\t\t\t\terror: err\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (!options.ignoreErrored) {\n\t\t\t\t\t\t\treportError(err);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn outdatedModules;\n\t\t}\n\t};\n}\n__webpack_require__.hmrI.jsonp = function (moduleId, applyHandlers) {\n\tif (!currentUpdate) {\n\t\tcurrentUpdate = {};\n\t\tcurrentUpdateRuntime = [];\n\t\tcurrentUpdateRemovedChunks = [];\n\t\tapplyHandlers.push(applyHandler);\n\t}\n\tif (!__webpack_require__.o(currentUpdate, moduleId)) {\n\t\tcurrentUpdate[moduleId] = __webpack_require__.m[moduleId];\n\t}\n};\n__webpack_require__.hmrC.jsonp = function (\n\tchunkIds,\n\tremovedChunks,\n\tremovedModules,\n\tpromises,\n\tapplyHandlers,\n\tupdatedModulesList\n) {\n\tapplyHandlers.push(applyHandler);\n\tcurrentUpdateChunks = {};\n\tcurrentUpdateRemovedChunks = removedChunks;\n\tcurrentUpdate = removedModules.reduce(function (obj, key) {\n\t\tobj[key] = false;\n\t\treturn obj;\n\t}, {});\n\tcurrentUpdateRuntime = [];\n\tchunkIds.forEach(function (chunkId) {\n\t\tif (\n\t\t\t__webpack_require__.o(installedChunks, chunkId) &&\n\t\t\tinstalledChunks[chunkId] !== undefined\n\t\t) {\n\t\t\tpromises.push(loadUpdateChunk(chunkId, updatedModulesList));\n\t\t\tcurrentUpdateChunks[chunkId] = true;\n\t\t}\n\t});\n\tif (__webpack_require__.f) {\n\t\t__webpack_require__.f.jsonpHmr = function (chunkId, promises) {\n\t\t\tif (\n\t\t\t\tcurrentUpdateChunks &&\n\t\t\t\t!__webpack_require__.o(currentUpdateChunks, chunkId) &&\n\t\t\t\t__webpack_require__.o(installedChunks, chunkId) &&\n\t\t\t\tinstalledChunks[chunkId] !== undefined\n\t\t\t) {\n\t\t\t\tpromises.push(loadUpdateChunk(chunkId));\n\t\t\t\tcurrentUpdateChunks[chunkId] = true;\n\t\t\t}\n\t\t};\n\t}\n};\n\n__webpack_require__.hmrM = () => {\n\tif (typeof fetch === \"undefined\") throw new Error(\"No browser support: need fetch API\");\n\treturn fetch(__webpack_require__.p + __webpack_require__.hmrF()).then((response) => {\n\t\tif(response.status === 404) return; // no update available\n\t\tif(!response.ok) throw new Error(\"Failed to fetch update manifest \" + response.statusText);\n\t\treturn response.json();\n\t});\n};\n\n// no deferred startup\n\n// no jsonp function\n\n// no deferred startup"],"sourceRoot":""}