| Server IP : 213.186.33.4 / Your IP : 216.73.216.59 Web Server : Apache System : Linux webm006.cluster103.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64 User : awebpaca ( 35430) PHP Version : 8.5.0 Disable Function : _dyuweyrj4,_dyuweyrj4r,dl MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/awebpaca/360/demo-architecture/indexdata/graphics/ |
Upload File : |
//krpano instance
var krpano = null;
//trace
var debug = false;
//is krpano loaded
var krpanoLoaded = false;
//methods to call when plugin is loaded
var pluginLoaded = new ktools.Map();
//is tour started
var isTourStarted = false;
//fullscreen object
var kolorFullscreen = null;
//browser detection
var kolorBrowserDetect = null;
//start z-index value
var kolorStartIndex = 4000;
//target url for cross domains application
var crossDomainTargetUrl = '';
var tourLanguage;
if ( debug ) {
if ( typeof(console) == 'undefined' ) {
console = {log : function (text) {} };
}
}
/* ======== FULLSCREEN STUFF ========================================== */
/**
* @description Register Fullscreen on DOM ready.
*/
jQuery(document).ready(function() {
//add browser detection
kolorBrowserDetect = new ktools.BrowserDetect();
kolorBrowserDetect.init();
//kolorBrowserDetect.browser : Browser string
//kolorBrowserDetect.version : Browser version
//kolorBrowserDetect.OS : Platform OS
//add fullscreen
kolorFullscreen = new ktools.Fullscreen(document.getElementById("tourDIV"));
kolorFullscreen.supportsFullscreen();
//activate krpano fallback and update methods
kolorFullscreen.setExternal({
'enter': krPanoFullscreenEnter,
'exit': krPanoFullscreenExit,
'change': krpanoFullscreenChange,
'resize': krPanoFullscreenResize
});
});
/**
* @function
* @description Enter fullscreen fallback method for krpano.
* @return {void}
*/
function krPanoFullscreenEnter() {
var ki = getKrPanoInstance();
if(ki !== null){
getKrPanoInstance().call("enterFullScreenFallback");
}
}
/**
* @function
* @description Exit fullscreen fallback method for krpano.
* @return {void}
*/
function krPanoFullscreenExit() {
var ki = getKrPanoInstance();
if(ki !== null){
ki.call("exitFullScreenFallback");
}
}
/**
* @function
* @description Launch method for krpano on fullscreen change event.
* @param {Boolean} state If true enter fullscreen event, else exit fullscreen event.
* @return {void}
*/
function krpanoFullscreenChange(state) {
var ki = getKrPanoInstance();
if(ki !== null){
if(state){
getKrPanoInstance().call("enterFullScreenChangeEvent");
}else{
getKrPanoInstance().call("exitFullScreenChangeEvent");
}
}
}
/**
* @function
* @description Launch resize method for krpano correct resize.
* @return {void}
*/
function krPanoFullscreenResize() {
var ki = getKrPanoInstance();
if(ki !== null){
getKrPanoInstance().call("resizeFullScreenEvent");
}
}
/**
* @function
* @description Set fullscreen mode.
* @param {String|Boolean} value The fullscreen status: 'true' for open or 'false' for close.
* @return {void}
*/
function setFullscreen(value) {
var state;
if(typeof value == "string")
state = (value.toLowerCase() == "true");
else
state = Boolean(value);
if (kolorFullscreen) {
if(state){
kolorFullscreen.request();
}else{
kolorFullscreen.exit();
}
}
}
/* ========== DIALOG BETWEEN KRPANO/JS STUFF ================================= */
/**
* @function
* @description Get krpano instance.
* @return {Object} krpano instance.
*/
function getKrPanoInstance() {
if ( krpano == null ) {
krpano = document.getElementById('krpanoSWFObject');
}
return krpano;
}
/**
* @function
* @description Call krpano function.
* @param {String} fnName The krpano action name.
* @param {*} Following parameters are passed to the krPano function
* @return {void}
*/
function invokeKrFunction(fnName) {
var args = [].slice.call(arguments, 1);
var callString = fnName+'(';
for(var i=0, ii=args.length; i<ii; i++)
{
callString += args[i];
if(i != ii-1) { callString += ', '; }
}
callString += ');';
if(getKrPanoInstance() !== null)
{
getKrPanoInstance().call(callString);
}
}
/**
* @function
* @description Get krpano identifier value.
* @param {String} identifier The qualifier.
* @param {String} type The converting type. Can be: 'int', 'float', 'string', 'boolean', 'object'.
* @return {Object}
*/
function getKrValue(identifier, type) {
if ( typeof identifier == "undefined" ){
return identifier;
}
if(getKrPanoInstance() !== null)
{
if(getKrPanoInstance().get(identifier) == null) {
return null;
}
switch ( type ) {
case "int":
return parseInt(getKrPanoInstance().get(identifier));
case "float":
return parseFloat(getKrPanoInstance().get(identifier));
case "string":
return String(getKrPanoInstance().get(identifier));
case "bool":
return Boolean(getKrPanoInstance().get(identifier) === 'true' || parseInt(getKrPanoInstance().get(identifier)) === 1 || getKrPanoInstance().get(identifier) === 'yes' || getKrPanoInstance().get(identifier) === 'on');
default:
return getKrPanoInstance().get(identifier);
}
}
else
{
return null;
}
}
/**
* @function
* @description Invoke a function of a plugin engine.
* @param {String} pluginName The name/id of the plugin.
* @param {String} functionName The name of the function to invoke.
* @param {Object[]} arguments Additional arguments will be passed to the invoked function as an array.
* @return {Object}
*/
function invokePluginFunction(pluginName, functionName) {
if ( debug ) {
console.log("invokePluginFunction("+pluginName+", "+functionName+")");
}
var plugin = ktools.KolorPluginList.getInstance().getPlugin(pluginName);
if (plugin == null) {
if ( debug ) { console.log("invokePluginFunction: plugin instance doesn't exist"); }
if(pluginLoaded && pluginLoaded.item(pluginName)){
pluginLoaded.update(pluginName, arguments);
}else{
pluginLoaded.add(pluginName, arguments);
}
return false;
}
var engine = plugin.getRegistered();
if (engine == null) {
if ( debug ) { console.log("invokePluginFunction: plugin isn't registered"); }
if(pluginLoaded && pluginLoaded.item(pluginName)){
pluginLoaded.update(pluginName, arguments);
}else{
pluginLoaded.add(pluginName, arguments);
}
return false;
}
var restArgs = [].slice.call(arguments, 2);
return engine[functionName](restArgs);
}
/**
* @function
* @description This function is called when krpano is ready.
* The ready state of krpano is told by its event onready (in fact it's not fully ready, included XML are not necessarily loaded)
* @return {void}
*/
function eventKrpanoLoaded (isWebVr) {
if ( debug ) {
console.log('krpano is loaded');
}
if (krpanoLoaded) { return false; }
tourLanguage = getKrValue("tour_language","string")
if(typeof tourLanguage == "undefined"){
tourLanguage = 'fr';
}
ktools.I18N.getInstance().initLanguage(tourLanguage, crossDomainTargetUrl+'indexdata/index_messages_','.xml');
krpanoLoaded = true;
if(isWebVr){
}else{
}
}
/**
* @function
* @description This function is called when plugins must be unloaded.
* @return {void}
*/
function eventUnloadPlugins () {
resetValuesForPlugins();
}
/**
* @function
* @description Reset the default values for the player and plugins loaders.
* @return {void}
*/
function resetValuesForPlugins () {
krpano = null;
krpanoLoaded = false;
isTourStarted = false;
pluginLoaded = new ktools.Map();
kolorStartIndex = 4000;
}
/**
* @function
* @description This function is called when tour is started.
* @return {void}
*/
function eventTourStarted () {
if ( debug ) {
console.log('tour is started');
}
isTourStarted = true;
}
/**
* @function
* @description This function is called when tour language is updated.
* @return {void}
*/
function eventTourChangeLanguage (pLang) {
if ( debug ) {
console.log('change tour language : '+pLang);
}
ktools.I18N.getInstance().initLanguage(pLang, crossDomainTargetUrl+'indexdata/index_messages_','.xml');
}
/* ========= KOLOR PLUGINS SCRIPTS ============================== */