TDV.PlayerAPI.defineScript({ "definitions": [
 {
  "adjacentPanoramas": [
   {
    "distance": 1,
    "yaw": 4.81,
    "panorama": {
     "adjacentPanoramas": [
      {
       "distance": 1,
       "yaw": -25.26,
       "panorama": "this.panorama_B56C27AC_BCC4_CD58_41D6_00332F283DC9",
       "class": "AdjacentPanorama",
       "backwardYaw": 4.81
      }
     ],
     "class": "Panorama",
     "partial": false,
     "id": "panorama_BB096915_BCC5_C548_41C3_CE79DBC5989F",
     "vfov": 180,
     "pitch": 0,
     "hfov": 360,
     "hfovMin": 60,
     "label": "Center",
     "thumbnailUrl": "media/panorama_BB096915_BCC5_C548_41C3_CE79DBC5989F_t.jpg",
     "frames": [
      {
       "overlays": [
        {
         "useHandCursor": true,
         "id": "overlay_B406C78B_BCC5_4D58_41C5_AA3A718AB7FE",
         "areas": [
          {
           "mapColor": "#FF0000",
           "click": "this.startPanoramaWithCamera(this.panorama_B56C27AC_BCC4_CD58_41D6_00332F283DC9, this.camera_39F7B7DD_41A6_85E9_41B6_E7FD03747663); this.mainPlayList.set('selectedIndex', 0)",
           "class": "HotspotPanoramaOverlayArea"
          }
         ],
         "maps": [
          {
           "hfov": 2.65,
           "yaw": -25.26,
           "image": {
            "class": "ImageResource",
            "levels": [
             {
              "height": 23,
              "width": 23,
              "url": "media/panorama_BB096915_BCC5_C548_41C3_CE79DBC5989F_0_HS_3_0_0_map.gif",
              "class": "ImageResourceLevel"
             }
            ]
           },
           "class": "HotspotPanoramaOverlayMap",
           "pitch": -18.26
          }
         ],
         "data": {
          "label": "Image"
         },
         "rollOverDisplay": false,
         "enabledInCardboard": true,
         "class": "HotspotPanoramaOverlay",
         "items": [
          {
           "yaw": -25.26,
           "hfov": 2.65,
           "class": "HotspotPanoramaOverlayImage",
           "image": {
            "class": "ImageResource",
            "levels": [
             {
              "height": 46,
              "width": 46,
              "url": "media/panorama_BB096915_BCC5_C548_41C3_CE79DBC5989F_0_HS_3_0.png",
              "class": "ImageResourceLevel"
             }
            ]
           },
           "pitch": -18.26
          }
         ]
        }
       ],
       "front": {
        "class": "ImageResource",
        "levels": [
         {
          "height": 1904,
          "width": 1904,
          "url": "media/panorama_BB096915_BCC5_C548_41C3_CE79DBC5989F_f_hq.jpeg",
          "class": "ImageResourceLevel"
         },
         {
          "height": 1024,
          "width": 1024,
          "url": "media/panorama_BB096915_BCC5_C548_41C3_CE79DBC5989F_f.jpeg",
          "class": "ImageResourceLevel"
         }
        ]
       },
       "thumbnailUrl": "media/panorama_BB096915_BCC5_C548_41C3_CE79DBC5989F_t.jpg",
       "top": {
        "class": "ImageResource",
        "levels": [
         {
          "height": 1904,
          "width": 1904,
          "url": "media/panorama_BB096915_BCC5_C548_41C3_CE79DBC5989F_u_hq.jpeg",
          "class": "ImageResourceLevel"
         },
         {
          "height": 1024,
          "width": 1024,
          "url": "media/panorama_BB096915_BCC5_C548_41C3_CE79DBC5989F_u.jpeg",
          "class": "ImageResourceLevel"
         }
        ]
       },
       "right": {
        "class": "ImageResource",
        "levels": [
         {
          "height": 1904,
          "width": 1904,
          "url": "media/panorama_BB096915_BCC5_C548_41C3_CE79DBC5989F_r_hq.jpeg",
          "class": "ImageResourceLevel"
         },
         {
          "height": 1024,
          "width": 1024,
          "url": "media/panorama_BB096915_BCC5_C548_41C3_CE79DBC5989F_r.jpeg",
          "class": "ImageResourceLevel"
         }
        ]
       },
       "back": {
        "class": "ImageResource",
        "levels": [
         {
          "height": 1904,
          "width": 1904,
          "url": "media/panorama_BB096915_BCC5_C548_41C3_CE79DBC5989F_b_hq.jpeg",
          "class": "ImageResourceLevel"
         },
         {
          "height": 1024,
          "width": 1024,
          "url": "media/panorama_BB096915_BCC5_C548_41C3_CE79DBC5989F_b.jpeg",
          "class": "ImageResourceLevel"
         }
        ]
       },
       "bottom": {
        "class": "ImageResource",
        "levels": [
         {
          "height": 1904,
          "width": 1904,
          "url": "media/panorama_BB096915_BCC5_C548_41C3_CE79DBC5989F_d_hq.jpeg",
          "class": "ImageResourceLevel"
         },
         {
          "height": 1024,
          "width": 1024,
          "url": "media/panorama_BB096915_BCC5_C548_41C3_CE79DBC5989F_d.jpeg",
          "class": "ImageResourceLevel"
         }
        ]
       },
       "left": {
        "class": "ImageResource",
        "levels": [
         {
          "height": 1904,
          "width": 1904,
          "url": "media/panorama_BB096915_BCC5_C548_41C3_CE79DBC5989F_l_hq.jpeg",
          "class": "ImageResourceLevel"
         },
         {
          "height": 1024,
          "width": 1024,
          "url": "media/panorama_BB096915_BCC5_C548_41C3_CE79DBC5989F_l.jpeg",
          "class": "ImageResourceLevel"
         }
        ]
       },
       "class": "CubicPanoramaFrame"
      }
     ],
     "hfovMax": 120
    },
    "class": "AdjacentPanorama",
    "backwardYaw": -25.26
   }
  ],
  "class": "Panorama",
  "partial": false,
  "id": "panorama_B56C27AC_BCC4_CD58_41D6_00332F283DC9",
  "vfov": 180,
  "pitch": 0,
  "hfov": 360,
  "hfovMin": 60,
  "label": "Front",
  "thumbnailUrl": "media/panorama_B56C27AC_BCC4_CD58_41D6_00332F283DC9_t.jpg",
  "frames": [
   {
    "overlays": [
     {
      "useHandCursor": true,
      "id": "overlay_B5B487C8_BCC5_CCD8_41D3_31D53ED35952",
      "areas": [
       {
        "mapColor": "#FF0000",
        "click": "this.startPanoramaWithCamera(this.panorama_BB096915_BCC5_C548_41C3_CE79DBC5989F, this.camera_39F437E8_41A6_85D7_41AA_C0E14C31FFE6); this.mainPlayList.set('selectedIndex', 1)",
        "class": "HotspotPanoramaOverlayArea"
       }
      ],
      "maps": [
       {
        "hfov": 2.74,
        "yaw": 4.81,
        "image": {
         "class": "ImageResource",
         "levels": [
          {
           "height": 23,
           "width": 23,
           "url": "media/panorama_B56C27AC_BCC4_CD58_41D6_00332F283DC9_0_HS_6_0_0_map.gif",
           "class": "ImageResourceLevel"
          }
         ]
        },
        "class": "HotspotPanoramaOverlayMap",
        "pitch": 10.29
       }
      ],
      "data": {
       "label": "Image"
      },
      "rollOverDisplay": false,
      "enabledInCardboard": true,
      "class": "HotspotPanoramaOverlay",
      "items": [
       {
        "yaw": 4.81,
        "hfov": 2.74,
        "class": "HotspotPanoramaOverlayImage",
        "image": {
         "class": "ImageResource",
         "levels": [
          {
           "height": 46,
           "width": 46,
           "url": "media/panorama_B56C27AC_BCC4_CD58_41D6_00332F283DC9_0_HS_6_0.png",
           "class": "ImageResourceLevel"
          }
         ]
        },
        "pitch": 10.29
       }
      ]
     },
     {
      "useHandCursor": true,
      "id": "overlay_B57994AD_BCC3_4358_41A2_E752F5623891",
      "areas": [
       {
        "toolTip": "Press here for detailed classroom information / full equipment details",
        "click": "this.openLink(\"https://www.polyu.edu.hk/vlearningspaces/TU107\", \"_blank\")",
        "mapColor": "#FF0000",
        "class": "HotspotPanoramaOverlayArea",
        "displayTooltipInTouchScreens": true
       }
      ],
      "maps": [
       {
        "hfov": 5.77,
        "yaw": -4.99,
        "image": {
         "class": "ImageResource",
         "levels": [
          {
           "height": 58,
           "width": 58,
           "url": "media/panorama_B56C27AC_BCC4_CD58_41D6_00332F283DC9_0_HS_3_0_0_map.gif",
           "class": "ImageResourceLevel"
          }
         ]
        },
        "class": "HotspotPanoramaOverlayMap",
        "pitch": -34.23
       }
      ],
      "data": {
       "label": "Image"
      },
      "rollOverDisplay": false,
      "class": "HotspotPanoramaOverlay",
      "items": [
       {
        "yaw": -4.99,
        "hfov": 5.77,
        "class": "HotspotPanoramaOverlayImage",
        "image": {
         "class": "ImageResource",
         "levels": [
          {
           "height": 116,
           "width": 116,
           "url": "media/panorama_B56C27AC_BCC4_CD58_41D6_00332F283DC9_0_HS_3_0.png",
           "class": "ImageResourceLevel"
          }
         ]
        },
        "pitch": -34.23
       }
      ]
     }
    ],
    "front": {
     "class": "ImageResource",
     "levels": [
      {
       "height": 1904,
       "width": 1904,
       "url": "media/panorama_B56C27AC_BCC4_CD58_41D6_00332F283DC9_f_hq.jpeg",
       "class": "ImageResourceLevel"
      },
      {
       "height": 1024,
       "width": 1024,
       "url": "media/panorama_B56C27AC_BCC4_CD58_41D6_00332F283DC9_f.jpeg",
       "class": "ImageResourceLevel"
      }
     ]
    },
    "thumbnailUrl": "media/panorama_B56C27AC_BCC4_CD58_41D6_00332F283DC9_t.jpg",
    "top": {
     "class": "ImageResource",
     "levels": [
      {
       "height": 1904,
       "width": 1904,
       "url": "media/panorama_B56C27AC_BCC4_CD58_41D6_00332F283DC9_u_hq.jpeg",
       "class": "ImageResourceLevel"
      },
      {
       "height": 1024,
       "width": 1024,
       "url": "media/panorama_B56C27AC_BCC4_CD58_41D6_00332F283DC9_u.jpeg",
       "class": "ImageResourceLevel"
      }
     ]
    },
    "right": {
     "class": "ImageResource",
     "levels": [
      {
       "height": 1904,
       "width": 1904,
       "url": "media/panorama_B56C27AC_BCC4_CD58_41D6_00332F283DC9_r_hq.jpeg",
       "class": "ImageResourceLevel"
      },
      {
       "height": 1024,
       "width": 1024,
       "url": "media/panorama_B56C27AC_BCC4_CD58_41D6_00332F283DC9_r.jpeg",
       "class": "ImageResourceLevel"
      }
     ]
    },
    "back": {
     "class": "ImageResource",
     "levels": [
      {
       "height": 1904,
       "width": 1904,
       "url": "media/panorama_B56C27AC_BCC4_CD58_41D6_00332F283DC9_b_hq.jpeg",
       "class": "ImageResourceLevel"
      },
      {
       "height": 1024,
       "width": 1024,
       "url": "media/panorama_B56C27AC_BCC4_CD58_41D6_00332F283DC9_b.jpeg",
       "class": "ImageResourceLevel"
      }
     ]
    },
    "bottom": {
     "class": "ImageResource",
     "levels": [
      {
       "height": 1904,
       "width": 1904,
       "url": "media/panorama_B56C27AC_BCC4_CD58_41D6_00332F283DC9_d_hq.jpeg",
       "class": "ImageResourceLevel"
      },
      {
       "height": 1024,
       "width": 1024,
       "url": "media/panorama_B56C27AC_BCC4_CD58_41D6_00332F283DC9_d.jpeg",
       "class": "ImageResourceLevel"
      }
     ]
    },
    "left": {
     "class": "ImageResource",
     "levels": [
      {
       "height": 1904,
       "width": 1904,
       "url": "media/panorama_B56C27AC_BCC4_CD58_41D6_00332F283DC9_l_hq.jpeg",
       "class": "ImageResourceLevel"
      },
      {
       "height": 1024,
       "width": 1024,
       "url": "media/panorama_B56C27AC_BCC4_CD58_41D6_00332F283DC9_l.jpeg",
       "class": "ImageResourceLevel"
      }
     ]
    },
    "class": "CubicPanoramaFrame"
   }
  ],
  "hfovMax": 120
 },
 {
  "id": "MainViewerPanoramaPlayer",
  "viewerArea": "this.MainViewer",
  "mouseControlMode": "drag_acceleration",
  "preloadEnabled": false,
  "displayPlaybackBar": true,
  "touchControlMode": "drag_rotation",
  "class": "PanoramaPlayer",
  "gyroscopeVerticalDraggingEnabled": true
 },
 {
  "automaticZoomSpeed": 1,
  "id": "panorama_B56C27AC_BCC4_CD58_41D6_00332F283DC9_camera",
  "initialPosition": {
   "hfov": 110,
   "yaw": 0,
   "class": "PanoramaCameraPosition",
   "pitch": 0
  },
  "automaticRotationSpeed": 1,
  "class": "PanoramaCamera"
 },
 "this.panorama_BB096915_BCC5_C548_41C3_CE79DBC5989F",
 {
  "automaticZoomSpeed": 1,
  "id": "panorama_BB096915_BCC5_C548_41C3_CE79DBC5989F_camera",
  "initialPosition": {
   "yaw": 0,
   "class": "PanoramaCameraPosition",
   "pitch": 0
  },
  "automaticRotationSpeed": 1,
  "class": "PanoramaCamera"
 },
 {
  "id": "mainPlayList",
  "class": "PlayList",
  "items": [
   {
    "player": "this.MainViewerPanoramaPlayer",
    "camera": "this.panorama_B56C27AC_BCC4_CD58_41D6_00332F283DC9_camera",
    "begin": "this.setEndToItemIndex(this.mainPlayList, 0, 1)",
    "media": "this.panorama_B56C27AC_BCC4_CD58_41D6_00332F283DC9",
    "class": "PanoramaPlayListItem"
   },
   {
    "player": "this.MainViewerPanoramaPlayer",
    "camera": "this.panorama_BB096915_BCC5_C548_41C3_CE79DBC5989F_camera",
    "end": "this.trigger('tourEnded')",
    "begin": "this.setEndToItemIndex(this.mainPlayList, 1, 0)",
    "media": "this.panorama_BB096915_BCC5_C548_41C3_CE79DBC5989F",
    "class": "PanoramaPlayListItem"
   }
  ]
 },
 {
  "id": "ThumbnailList_7CC9644B_7223_EC09_41CB_D1B94FFAE604_playlist",
  "class": "PlayList",
  "items": [
   {
    "player": "this.MainViewerPanoramaPlayer",
    "camera": "this.panorama_B56C27AC_BCC4_CD58_41D6_00332F283DC9_camera",
    "begin": "this.setEndToItemIndex(this.ThumbnailList_7CC9644B_7223_EC09_41CB_D1B94FFAE604_playlist, 0, 1)",
    "media": "this.panorama_B56C27AC_BCC4_CD58_41D6_00332F283DC9",
    "class": "PanoramaPlayListItem"
   },
   {
    "player": "this.MainViewerPanoramaPlayer",
    "camera": "this.panorama_BB096915_BCC5_C548_41C3_CE79DBC5989F_camera",
    "begin": "this.setEndToItemIndex(this.ThumbnailList_7CC9644B_7223_EC09_41CB_D1B94FFAE604_playlist, 1, 0)",
    "media": "this.panorama_BB096915_BCC5_C548_41C3_CE79DBC5989F",
    "class": "PanoramaPlayListItem"
   }
  ]
 },
 {
  "playList": {
   "id": "album_B690788D_BCC3_4358_418F_A9E5DF66B5A5_AlbumPlayList",
   "class": "PhotoPlayList",
   "items": [
    {
     "camera": {
      "duration": 6000,
      "scaleMode": "fit_inside",
      "initialPosition": {
       "zoomFactor": 1,
       "x": "0.50",
       "class": "PhotoCameraPosition",
       "y": "0.50"
      },
      "targetPosition": {
       "zoomFactor": 1,
       "x": "0.50",
       "class": "PhotoCameraPosition",
       "y": "0.50"
      },
      "class": "MovementPhotoCamera",
      "easing": "linear"
     },
     "media": {
      "image": {
       "class": "ImageResource",
       "levels": [
        {
         "url": "media/album_B690788D_BCC3_4358_418F_A9E5DF66B5A5_0.JPG",
         "class": "ImageResourceLevel"
        }
       ]
      },
      "label": "Panel",
      "duration": 6000,
      "width": 1500,
      "id": "album_B690788D_BCC3_4358_418F_A9E5DF66B5A5_0",
      "class": "Photo",
      "height": 1000,
      "thumbnailUrl": "media/album_B690788D_BCC3_4358_418F_A9E5DF66B5A5_0_t.jpg"
     },
     "class": "PhotoPlayListItem"
    },
    {
     "camera": {
      "duration": 6000,
      "scaleMode": "fit_inside",
      "initialPosition": {
       "zoomFactor": 1,
       "x": "0.50",
       "class": "PhotoCameraPosition",
       "y": "0.50"
      },
      "targetPosition": {
       "zoomFactor": 1,
       "x": "0.50",
       "class": "PhotoCameraPosition",
       "y": "0.50"
      },
      "class": "MovementPhotoCamera",
      "easing": "linear"
     },
     "media": {
      "image": {
       "class": "ImageResource",
       "levels": [
        {
         "url": "media/album_B690788D_BCC3_4358_418F_A9E5DF66B5A5_1.JPG",
         "class": "ImageResourceLevel"
        }
       ]
      },
      "label": "Panel2",
      "duration": 6000,
      "width": 1500,
      "id": "album_B690788D_BCC3_4358_418F_A9E5DF66B5A5_1",
      "class": "Photo",
      "height": 1000,
      "thumbnailUrl": "media/album_B690788D_BCC3_4358_418F_A9E5DF66B5A5_1_t.jpg"
     },
     "class": "PhotoPlayListItem"
    }
   ]
  },
  "label": "Photo Album Panel",
  "class": "PhotoAlbum",
  "id": "album_B690788D_BCC3_4358_418F_A9E5DF66B5A5",
  "thumbnailUrl": "media/album_B690788D_BCC3_4358_418F_A9E5DF66B5A5_t.png"
 },
 {
  "id": "MainViewerPhotoAlbumPlayer",
  "class": "PhotoAlbumPlayer",
  "viewerArea": "this.MainViewer"
 },
 "this.album_B690788D_BCC3_4358_418F_A9E5DF66B5A5_0",
 "this.album_B690788D_BCC3_4358_418F_A9E5DF66B5A5_1",
 {
  "id": "playList_39CCD7CF_41A6_85E9_41CC_A761ACDED2FC",
  "class": "PlayList",
  "items": [
   {
    "player": "this.MainViewerPhotoAlbumPlayer",
    "media": "this.album_B690788D_BCC3_4358_418F_A9E5DF66B5A5",
    "class": "PhotoAlbumPlayListItem"
   }
  ]
 },
 {
  "automaticZoomSpeed": 1,
  "id": "camera_39F7B7DD_41A6_85E9_41B6_E7FD03747663",
  "initialPosition": {
   "hfov": 110,
   "yaw": -175.19,
   "class": "PanoramaCameraPosition",
   "pitch": 0
  },
  "automaticRotationSpeed": 1,
  "class": "PanoramaCamera"
 },
 {
  "automaticZoomSpeed": 1,
  "id": "camera_39F437E8_41A6_85D7_41AA_C0E14C31FFE6",
  "initialPosition": {
   "yaw": 154.74,
   "class": "PanoramaCameraPosition",
   "pitch": 0
  },
  "automaticRotationSpeed": 1,
  "class": "PanoramaCamera"
 }
], "children": [
 {
  "playbackBarOpacity": 1,
  "playbackBarHeadShadowHorizontalLength": 0,
  "toolTipBorderSize": 1,
  "playbackBarHeadBorderRadius": 0,
  "progressHeight": 10,
  "paddingRight": 0,
  "playbackBarRight": 0,
  "progressOpacity": 1,
  "playbackBarProgressBorderRadius": 0,
  "toolTipFontWeight": "normal",
  "playbackBarHeadBorderColor": "#000000",
  "playbackBarProgressBackgroundColor": [
   "#3399FF"
  ],
  "progressBackgroundColorDirection": "vertical",
  "progressBarBackgroundColorDirection": "vertical",
  "minWidth": 100,
  "playbackBarHeight": 10,
  "progressBarOpacity": 1,
  "playbackBarHeadBorderSize": 0,
  "playbackBarHeadBackgroundColorDirection": "vertical",
  "toolTipBorderColor": "#767676",
  "playbackBarHeadShadowOpacity": 0.7,
  "toolTipFontStyle": "normal",
  "toolTipShadowVerticalLength": 0,
  "progressBorderSize": 0,
  "toolTipPaddingRight": 6,
  "toolTipFontSize": 12,
  "toolTipPaddingBottom": 4,
  "shadow": false,
  "playbackBarBottom": 5,
  "transitionDuration": 500,
  "toolTipTextShadowBlurRadius": 3,
  "playbackBarProgressBorderColor": "#000000",
  "toolTipDisplayTime": 600,
  "transitionMode": "blending",
  "paddingTop": 0,
  "progressBarBorderColor": "#000000",
  "progressBarBackgroundColorRatios": [
   0
  ],
  "playbackBarHeadWidth": 6,
  "playbackBarHeadBackgroundColor": [
   "#111111",
   "#666666"
  ],
  "toolTipFontColor": "#606060",
  "progressBorderColor": "#000000",
  "playbackBarHeadShadow": true,
  "playbackBarProgressBorderSize": 0,
  "toolTipPaddingLeft": 6,
  "playbackBarBackgroundColorDirection": "vertical",
  "toolTipTextShadowOpacity": 0,
  "playbackBarProgressBackgroundColorRatios": [
   0
  ],
  "playbackBarHeadOpacity": 1,
  "paddingBottom": 0,
  "progressBarBorderSize": 0,
  "toolTipOpacity": 1,
  "progressBarBackgroundColor": [
   "#3399FF"
  ],
  "playbackBarBorderColor": "#FFFFFF",
  "progressBackgroundColor": [
   "#FFFFFF"
  ],
  "paddingLeft": 0,
  "progressLeft": 0,
  "width": "100%",
  "playbackBarProgressOpacity": 1,
  "height": "100%",
  "toolTipFontFamily": "Arial",
  "playbackBarBorderSize": 0,
  "toolTipPaddingTop": 4,
  "playbackBarBackgroundOpacity": 1,
  "progressBackgroundColorRatios": [
   0
  ],
  "minHeight": 50,
  "playbackBarHeadShadowBlurRadius": 3,
  "borderRadius": 0,
  "toolTipShadowSpread": 0,
  "playbackBarProgressBackgroundColorDirection": "vertical",
  "toolTipShadowHorizontalLength": 0,
  "borderSize": 0,
  "toolTipBackgroundColor": "#F6F6F6",
  "top": 0,
  "playbackBarLeft": 0,
  "toolTipShadowOpacity": 1,
  "id": "MainViewer",
  "class": "ViewerArea",
  "playbackBarHeadHeight": 15,
  "playbackBarHeadShadowColor": "#000000",
  "progressBorderRadius": 0,
  "toolTipBorderRadius": 3,
  "playbackBarHeadShadowVerticalLength": 0,
  "toolTipTextShadowColor": "#000000",
  "progressRight": 0,
  "toolTipShadowBlurRadius": 3,
  "playbackBarBackgroundColor": [
   "#FFFFFF"
  ],
  "left": 0,
  "playbackBarBorderRadius": 0,
  "progressBackgroundOpacity": 1,
  "progressBarBorderRadius": 0,
  "progressBottom": 0,
  "playbackBarHeadBackgroundColorRatios": [
   0,
   1
  ],
  "toolTipShadowColor": "#333333"
 },
 {
  "itemBackgroundColorRatios": [],
  "itemBackgroundColor": [],
  "backgroundColor": [
   "#000000"
  ],
  "paddingRight": 20,
  "itemBackgroundColorDirection": "vertical",
  "minWidth": 20,
  "scrollBarWidth": 10,
  "itemThumbnailOpacity": 1,
  "scrollBarColor": "#FFFFFF",
  "itemOpacity": 1,
  "backgroundColorDirection": "vertical",
  "itemThumbnailWidth": 85,
  "itemThumbnailShadow": true,
  "itemLabelGap": 9,
  "itemBorderRadius": 0,
  "itemPaddingTop": 3,
  "scrollBarVisible": "rollOver",
  "itemThumbnailBorderRadius": 50,
  "shadow": false,
  "paddingTop": 10,
  "gap": 10,
  "itemThumbnailHeight": 75,
  "itemThumbnailShadowSpread": 1,
  "horizontalAlign": "left",
  "paddingBottom": 10,
  "itemLabelHorizontalAlign": "center",
  "itemPaddingRight": 3,
  "verticalAlign": "top",
  "itemThumbnailShadowVerticalLength": 3,
  "paddingLeft": 20,
  "itemPaddingLeft": 3,
  "height": "55.373%",
  "itemThumbnailShadowHorizontalLength": 3,
  "selectedItemLabelFontWeight": "bold",
  "itemBackgroundOpacity": 0,
  "layout": "vertical",
  "itemLabelPosition": "bottom",
  "minHeight": 20,
  "scrollBarOpacity": 0.5,
  "borderRadius": 5,
  "rollOverItemLabelFontWeight": "normal",
  "playList": "this.ThumbnailList_7CC9644B_7223_EC09_41CB_D1B94FFAE604_playlist",
  "backgroundOpacity": 0.24,
  "selectedItemLabelFontColor": "#FFCC00",
  "borderSize": 0,
  "top": "14.69%",
  "class": "ThumbnailList",
  "itemPaddingBottom": 3,
  "id": "ThumbnailList_7CC9644B_7223_EC09_41CB_D1B94FFAE604",
  "backgroundColorRatios": [
   0
  ],
  "itemHorizontalAlign": "center",
  "itemThumbnailShadowOpacity": 0.54,
  "itemLabelFontSize": 14,
  "data": {
   "name": "ThumbnailList35762"
  },
  "itemThumbnailScaleMode": "fit_outside",
  "itemLabelTextDecoration": "none",
  "itemLabelFontStyle": "normal",
  "itemLabelFontFamily": "Arial",
  "scrollBarMargin": 2,
  "itemLabelFontColor": "#FFFFFF",
  "itemThumbnailShadowColor": "#000000",
  "itemLabelFontWeight": "normal",
  "itemThumbnailShadowBlurRadius": 8,
  "right": "0.06%",
  "itemVerticalAlign": "middle",
  "itemMode": "normal",
  "rollOverItemBackgroundOpacity": 0
 },
 {
  "horizontalAlign": "left",
  "backgroundColor": [
   "#FFFFFF",
   "#FFFFFF"
  ],
  "paddingRight": 0,
  "paddingLeft": 0,
  "width": 300,
  "verticalAlign": "top",
  "height": 50,
  "minWidth": 300,
  "scrollBarWidth": 10,
  "scrollBarColor": "#000000",
  "backgroundColorDirection": "vertical",
  "contentOpaque": false,
  "minHeight": 50,
  "scrollBarOpacity": 0.5,
  "borderRadius": 0,
  "creationPolicy": "delayed",
  "shadow": false,
  "borderSize": 0,
  "backgroundOpacity": 0.3,
  "visible": false,
  "paddingTop": 0,
  "class": "Container",
  "gap": 10,
  "layout": "absolute",
  "id": "Container_A083ABE9_B0B7_3EC3_41C5_3F2017BB3D1F",
  "top": 50,
  "scrollBarVisible": "rollOver",
  "overflow": "scroll",
  "data": {
   "name": "LinkContainer"
  },
  "scrollBarMargin": 2,
  "backgroundColorRatios": [
   0,
   1
  ],
  "left": 1,
  "children": [
   {
    "borderColor": "#000000",
    "data": {
     "name": "HTMLText53815"
    },
    "backgroundColor": [
     "#FFFFFF"
    ],
    "paddingLeft": 10,
    "width": 300,
    "paddingRight": 0,
    "height": 50,
    "scrollBarOpacity": 0.5,
    "scrollBarWidth": 10,
    "minWidth": 300,
    "backgroundColorDirection": "vertical",
    "scrollBarColor": "#000000",
    "minHeight": 50,
    "borderRadius": 0,
    "shadow": true,
    "borderSize": 3,
    "backgroundOpacity": 0.91,
    "paddingTop": 10,
    "class": "HTMLText",
    "id": "HTMLText_BF5A3E47_B08C_D9C1_415D_8A22BF1EB566",
    "shadowSpread": 1,
    "top": "0%",
    "scrollBarVisible": "rollOver",
    "shadowVerticalLength": 2,
    "shadowColor": "#000000",
    "shadowBlurRadius": 7,
    "shadowOpacity": 0.19,
    "scrollBarMargin": 2,
    "backgroundColorRatios": [
     0
    ],
    "left": "0%",
    "html": "<div style=\"text-align:left; color:#000; \"><DIV STYLE=\"text-align:left;\"><SPAN STYLE=\"letter-spacing:0px;color:#000000;font-size:12px;font-family:Arial, Helvetica, sans-serif;\"><SPAN STYLE=\"color:#333333;\">For more information please check </SPAN><SPAN STYLE=\"color:#0000ff;\"><A HREF=\"https://wwwdevnew.polyu.edu.hk/vlearningspaces/BC202/\" TARGET=\"_blank\" STYLE=\"text-decoration:none; color:inherit;\"><U>here</U></A></SPAN></SPAN></DIV></div>",
    "shadowHorizontalLength": 2,
    "paddingBottom": 0
   }
  ],
  "paddingBottom": 0
 },
 {
  "horizontalAlign": "left",
  "backgroundColor": [
   "#FFFFFF",
   "#FFFFFF"
  ],
  "paddingRight": 0,
  "paddingLeft": 0,
  "width": 300,
  "verticalAlign": "top",
  "height": 50,
  "minWidth": 300,
  "scrollBarWidth": 10,
  "scrollBarColor": "#000000",
  "backgroundColorDirection": "vertical",
  "contentOpaque": false,
  "minHeight": 50,
  "scrollBarOpacity": 0.5,
  "borderRadius": 0,
  "creationPolicy": "delayed",
  "shadow": false,
  "borderSize": 0,
  "backgroundOpacity": 0.3,
  "paddingTop": 0,
  "class": "Container",
  "gap": 10,
  "layout": "absolute",
  "id": "Container_A7DED7F5_B094_D6B5_41D0_2AD9D95141DC",
  "top": "0%",
  "scrollBarVisible": "rollOver",
  "overflow": "scroll",
  "data": {
   "name": "LabelContainer"
  },
  "scrollBarMargin": 2,
  "backgroundColorRatios": [
   0,
   1
  ],
  "left": "0%",
  "children": [
   {
    "verticalAlign": "middle",
    "paddingRight": 0,
    "paddingLeft": 0,
    "width": 300,
    "maxHeight": 98,
    "height": 50,
    "minWidth": 300,
    "url": "skin/Image_57457D74_735A_A030_41DC_D899CE5984E4.jpg",
    "maxWidth": 454,
    "minHeight": 50,
    "borderRadius": 0,
    "scaleMode": "fit_inside",
    "shadow": false,
    "borderSize": 0,
    "backgroundOpacity": 0,
    "top": "0%",
    "class": "Image",
    "id": "Image_57457D74_735A_A030_41DC_D899CE5984E4",
    "paddingTop": 0,
    "data": {
     "name": "RroomNo"
    },
    "left": "0%",
    "horizontalAlign": "left",
    "paddingBottom": 0
   },
   {
    "toolTipOpacity": 1,
    "toolTipBorderSize": 1,
    "paddingBottom": 0,
    "paddingRight": 0,
    "paddingLeft": 0,
    "width": 50,
    "verticalAlign": "middle",
    "maxHeight": 128,
    "height": 50,
    "minWidth": 1,
    "toolTipFontFamily": "Arial",
    "url": "skin/Image_70F83157_609A_DC38_41BC_6CACB2EA8C3F.png",
    "toolTipPaddingTop": 4,
    "toolTipFontWeight": "normal",
    "maxWidth": 128,
    "toolTipBorderColor": "#767676",
    "toolTip": "Press here for detailed classroom information / full equipment details",
    "toolTipFontStyle": "normal",
    "minHeight": 1,
    "toolTipShadowVerticalLength": 0,
    "toolTipPaddingRight": 6,
    "toolTipFontSize": 12,
    "toolTipShadowHorizontalLength": 0,
    "borderRadius": 0,
    "scaleMode": "fit_inside",
    "toolTipShadowSpread": 0,
    "toolTipPaddingBottom": 4,
    "shadow": false,
    "toolTipTextShadowBlurRadius": 3,
    "borderSize": 0,
    "backgroundOpacity": 0,
    "click": "this.openLink(\"https://www.polyu.edu.hk/vlearningspaces/TU107\", \"_blank\")",
    "toolTipDisplayTime": 600,
    "cursor": "hand",
    "toolTipBackgroundColor": "#F6F6F6",
    "top": "0%",
    "class": "Image",
    "toolTipShadowOpacity": 1,
    "id": "Image_70F83157_609A_DC38_41BC_6CACB2EA8C3F",
    "paddingTop": 0,
    "toolTipBorderRadius": 3,
    "data": {
     "name": "Image18292"
    },
    "toolTipFontColor": "#606060",
    "toolTipPaddingLeft": 6,
    "toolTipTextShadowColor": "#000000",
    "toolTipShadowBlurRadius": 3,
    "toolTipTextShadowOpacity": 0,
    "toolTipShadowColor": "#333333",
    "horizontalAlign": "center",
    "right": "5.02%"
   }
  ],
  "paddingBottom": 0
 }
], 
 "start": "this.syncPlaylists([this.ThumbnailList_7CC9644B_7223_EC09_41CB_D1B94FFAE604_playlist,this.mainPlayList]); this.mainPlayList.set('selectedIndex', 0)",
 "paddingRight": 0,
 "backgroundPreloadEnabled": true,
 "paddingLeft": 0,
 "verticalAlign": "top",
 "mobileMipmappingEnabled": false,
 "minWidth": 20,
 "scrollBarWidth": 10,
 "scrollBarColor": "#000000",
 "contentOpaque": false,
 "height": "100%",
 "minHeight": 20,
 "scrollBarOpacity": 0.5,
 "borderRadius": 0,
 "creationPolicy": "delayed",
 "shadow": false,
 "borderSize": 0,
 "paddingTop": 0,
 "class": "Player",
 "gap": 10,
 "scripts": {
  "pauseGlobalAudiosWhilePlayItem": function(playList, index, caller){  var audios = window.currentGlobalAudios; if(!audios) return; var resumeFunction = this.resumeGlobalAudios; var endFunction = function(){ if(playList.get('selectedIndex') != index) { resumeFunction(caller); } }; this.pauseGlobalAudios(caller); this.executeFunctionWhenChange(playList, index, endFunction, endFunction); },
  "getKey": function(key){  return window[key]; },
  "pauseGlobalAudio": function(audio){  var audios = window.currentGlobalAudios; if(audios){ audio = audios[audio.get('id')]; } if(audio.get('state') == 'playing') audio.pause(); },
  "pauseGlobalAudios": function(caller, excludeAudios){  var audios = window.currentGlobalAudios; window.currentGlobalAudiosActionCaller = caller; if(!audios) return; for(var audio in audios){ var a = audios[audio]; if(a.get('state') == 'playing' && (excludeAudios == undefined || excludeAudios.indexOf(a) == -1)) a.pause(); } },
  "openLink": function(url, name){  if(url == location.href) { return; } if (name == '_blank' && window && window.process && window.process.versions && window.process.versions['electron']){ if (url.startsWith('/')) { var r = window.location.href.split('/'); r.pop(); url = r.join('/') + url; } var extension = url.split('.').pop().toLowerCase(); if(extension != 'pdf') { var shell = require('electron').shell; shell.openExternal(url); } else { window.open(url, name); } } else { var newWindow = window.open(url, name); newWindow.focus(); } },
  "playAudioList": function(audios){  if(audios.length == 0) return; var currentAudioCount = -1; var currentAudio; var playGlobalAudioFunction = this.playGlobalAudio; var playNext = function(){ if(++currentAudioCount >= audios.length) currentAudioCount = 0; currentAudio = audios[currentAudioCount]; playGlobalAudioFunction(currentAudio, playNext); }; playNext(); },
  "autotriggerAtStart": function(player, callback){  var stateChangeFunction = function(event){ if(event.data.state == 'playing'){ callback(); player.unbind('stateChange', stateChangeFunction, this); } }; player.bind('stateChange', stateChangeFunction, this); },
  "startPanoramaWithCamera": function(media, camera){  if(window.currentPanoramasWithCameraChanged != undefined && window.currentPanoramasWithCameraChanged.indexOf(media) != -1){ return; } var playLists = this.getByClassName('PlayList'); if(playLists.length == 0) return; var restoreItems = []; for(var i = 0, count = playLists.length; i<count; ++i){ var playList = playLists[i]; var items = playList.get('items'); for(var j = 0, countJ = items.length; j<countJ; ++j){ var item = items[j]; if(item.get('media') == media && (item.get('class') == 'PanoramaPlayListItem' || item.get('class') == 'Video360PlayListItem')){ restoreItems.push({camera: item.get('camera'), item: item}); item.set('camera', camera); } } } if(restoreItems.length > 0) { if(window.currentPanoramasWithCameraChanged == undefined) { window.currentPanoramasWithCameraChanged = [media]; } else { window.currentPanoramasWithCameraChanged.push(media); } var restoreCameraOnStop = function(){ var index = window.currentPanoramasWithCameraChanged.indexOf(media); if(index != -1) { window.currentPanoramasWithCameraChanged.splice(index, 1); } for (var i = 0; i < restoreItems.length; i++) { restoreItems[i].item.set('camera', restoreItems[i].camera); restoreItems[i].item.unbind('stop', restoreCameraOnStop, this); } }; for (var i = 0; i < restoreItems.length; i++) { restoreItems[i].item.bind('stop', restoreCameraOnStop, this); } } },
  "playGlobalAudioWhilePlay": function(playList, index, audio, endCallback){  var changeFunction = function(event){ if(event.data.previousSelectedIndex == index){ this.stopGlobalAudio(audio); if(isPanorama) { var media = playListItem.get('media'); var audios = media.get('audios'); audios.splice(audios.indexOf(audio), 1); media.set('audios', audios); } playList.unbind('change', changeFunction, this); if(endCallback) endCallback(); } }; var audios = window.currentGlobalAudios; if(audios && audio.get('id') in audios){ audio = audios[audio.get('id')]; if(audio.get('state') != 'playing'){ audio.play(); } return; } playList.bind('change', changeFunction, this); var playListItem = playList.get('items')[index]; var isPanorama = playListItem.get('class') == 'PanoramaPlayListItem'; if(isPanorama) { var media = playListItem.get('media'); var audios = (media.get('audios') || []).slice(); if(audio.get('class') == 'MediaAudio') { var panoramaAudio = this.rootPlayer.createInstance('PanoramaAudio'); panoramaAudio.set('autoplay', false); panoramaAudio.set('audio', audio.get('audio')); panoramaAudio.set('loop', audio.get('loop')); panoramaAudio.set('id', audio.get('id')); audio = panoramaAudio; } audios.push(audio); media.set('audios', audios); } this.playGlobalAudio(audio, endCallback); },
  "changeBackgroundWhilePlay": function(playList, index, color){  var changeFunction = function(event){ if(event.data.previousSelectedIndex == index){ playList.unbind('change', changeFunction, this); if((color == viewerArea.get('backgroundColor')) && (colorRatios == viewerArea.get('backgroundColorRatios'))){ viewerArea.set('backgroundColor', backgroundColorBackup); viewerArea.set('backgroundColorRatios', backgroundColorRatiosBackup); } } }; var playListItem = playList.get('items')[index]; var player = playListItem.get('player'); var viewerArea = player.get('viewerArea'); var backgroundColorBackup = viewerArea.get('backgroundColor'); var backgroundColorRatiosBackup = viewerArea.get('backgroundColorRatios'); var colorRatios = [0]; if((color != backgroundColorBackup) || (colorRatios != backgroundColorRatiosBackup)){ viewerArea.set('backgroundColor', color); viewerArea.set('backgroundColorRatios', colorRatios); playList.bind('change', changeFunction, this); } },
  "playGlobalAudio": function(audio, endCallback){  var endFunction = function(){ audio.unbind('end', endFunction, this); this.stopGlobalAudio(audio); if(endCallback) endCallback(); }; audio = this.getGlobalAudio(audio); var audios = window.currentGlobalAudios; if(!audios){ audios = window.currentGlobalAudios = {}; } audios[audio.get('id')] = audio; if(audio.get('state') == 'playing'){ return; } if(!audio.get('loop')){ audio.bind('end', endFunction, this); } audio.play(); },
  "changePlayListWithSameSpot": function(playList, newIndex){  var currentIndex = playList.get('selectedIndex'); if (currentIndex >= 0 && newIndex >= 0 && currentIndex != newIndex) { var currentItem = playList.get('items')[currentIndex]; var newItem = playList.get('items')[newIndex]; var currentPlayer = currentItem.get('player'); var newPlayer = newItem.get('player'); if ((currentPlayer.get('class') == 'PanoramaPlayer' || currentPlayer.get('class') == 'Video360Player') && (newPlayer.get('class') == 'PanoramaPlayer' || newPlayer.get('class') == 'Video360Player')) { var newCamera = this.cloneCamera(newItem.get('camera')); this.setCameraSameSpotAsMedia(newCamera, currentItem.get('media')); this.startPanoramaWithCamera(newItem.get('media'), newCamera); } } },
  "updateMediaLabelFromPlayList": function(playList, htmlText, playListItemStopToDispose){  var changeFunction = function(){ var index = playList.get('selectedIndex'); if(index >= 0){ var beginFunction = function(){ playListItem.unbind('begin', beginFunction); setMediaLabel(index); }; var setMediaLabel = function(index){ var media = playListItem.get('media'); var text = media.get('data'); if(!text) text = media.get('label'); setHtml(text); }; var setHtml = function(text){ if(text !== undefined) { htmlText.set('html', '<div style=\"text-align:left\"><SPAN STYLE=\"color:#FFFFFF;font-size:12px;font-family:Verdana\"><span color=\"white\" font-family=\"Verdana\" font-size=\"12px\">' + text + '</SPAN></div>'); } else { htmlText.set('html', ''); } }; var playListItem = playList.get('items')[index]; if(htmlText.get('html')){ setHtml('Loading...'); playListItem.bind('begin', beginFunction); } else{ setMediaLabel(index); } } }; var disposeFunction = function(){ htmlText.set('html', undefined); playList.unbind('change', changeFunction, this); playListItemStopToDispose.unbind('stop', disposeFunction, this); }; if(playListItemStopToDispose){ playListItemStopToDispose.bind('stop', disposeFunction, this); } playList.bind('change', changeFunction, this); changeFunction(); },
  "resumePlayers": function(players, onlyResumeCameraIfPanorama){  for(var i = 0; i<players.length; ++i){ var player = players[i]; if(onlyResumeCameraIfPanorama && player.get('class') == 'PanoramaPlayer' && typeof player.get('video') === 'undefined'){ player.resumeCamera(); } else{ player.play(); } } },
  "cloneCamera": function(camera){  var newCamera = this.rootPlayer.createInstance(camera.get('class')); newCamera.set('id', camera.get('id') + '_copy'); newCamera.set('idleSequence', camera.get('initialSequence')); return newCamera; },
  "syncPlaylists": function(playLists){  var changeToMedia = function(media, playListDispatched){ for(var i = 0, count = playLists.length; i<count; ++i){ var playList = playLists[i]; if(playList != playListDispatched){ var items = playList.get('items'); for(var j = 0, countJ = items.length; j<countJ; ++j){ if(items[j].get('media') == media){ if(playList.get('selectedIndex') != j){ playList.set('selectedIndex', j); } break; } } } } }; var changeFunction = function(event){ var playListDispatched = event.source; var selectedIndex = playListDispatched.get('selectedIndex'); if(selectedIndex < 0) return; var media = playListDispatched.get('items')[selectedIndex].get('media'); changeToMedia(media, playListDispatched); }; var mapPlayerChangeFunction = function(event){ var panoramaMapLocation = event.source.get('panoramaMapLocation'); if(panoramaMapLocation){ var map = panoramaMapLocation.get('map'); changeToMedia(map); } }; for(var i = 0, count = playLists.length; i<count; ++i){ playLists[i].bind('change', changeFunction, this); } var mapPlayers = this.getByClassName('MapPlayer'); for(var i = 0, count = mapPlayers.length; i<count; ++i){ mapPlayers[i].bind('panoramaMapLocation_change', mapPlayerChangeFunction, this); } },
  "resumeGlobalAudios": function(caller, excludeAudios){  if(window.currentGlobalAudiosActionCaller && window.currentGlobalAudiosActionCaller != caller) return; window.currentGlobalAudiosActionCaller = undefined; var audios = window.currentGlobalAudios; if(!audios) return; for(var audio in audios){ var a = audios[audio]; if(excludeAudios == undefined || excludeAudios.indexOf(a) == -1) audios[audio].play(); } },
  "executeFunctionWhenChange": function(playList, index, endFunction, changeFunction){  var self = this; var endObject = undefined; var changePlayListFunction = function(event){ if(event.data.previousSelectedIndex == index){ if(changeFunction) changeFunction(); if(endFunction && endObject) endObject.unbind('end', endFunction, self); playList.unbind('change', changePlayListFunction, self); } }; if(endFunction){ var playListItem = playList.get('items')[index]; var playListItemClass = playListItem.get('class'); if(playListItemClass == 'PanoramaPlayListItem'){ var camera = playListItem.get('camera'); endObject = camera.get('initialSequence'); } else{ endObject = playListItem.get('media'); } if(endObject){ endObject.bind('end', endFunction, this); } } playList.bind('change', changePlayListFunction, this); },
  "updateVideoCues": function(playList, index){  var playListItem = playList.get('items')[index]; var video = playListItem.get('media'); if(video.get('cues').length == 0) return; var player = playListItem.get('player'); var cues = []; var changeFunction = function(){ if(playList.get('selectedIndex') != index){ video.unbind('cueChange', cueChangeFunction, this); playList.unbind('change', changeFunction, this); } }; var cueChangeFunction = function(event){ var activeCues = event.data.activeCues; for(var i = 0, count = cues.length; i<count; ++i){ var cue = cues[i]; if(activeCues.indexOf(cue) == -1 && (cue.get('startTime') > player.get('currentTime') || cue.get('endTime') < player.get('currentTime')+0.5)){ cue.trigger('end'); } } cues = activeCues; }; video.bind('cueChange', cueChangeFunction, this); playList.bind('change', changeFunction, this); },
  "showPopupPanoramaVideoOverlay": function(popupPanoramaOverlay, closeButtonProperties){  var self = this; var showEndFunction = function() { popupPanoramaOverlay.unbind('showEnd', showEndFunction); closeButton.bind('click', hideFunction, this); setCloseButtonPosition(); closeButton.set('visible', true); }; var endFunction = function() { if(!popupPanoramaOverlay.get('loop')) hideFunction(); }; var hideFunction = function() { self.MainViewer.set('toolTipEnabled', true); popupPanoramaOverlay.set('visible', false); closeButton.set('visible', false); closeButton.unbind('click', hideFunction, self); popupPanoramaOverlay.unbind('end', endFunction, self); popupPanoramaOverlay.unbind('hideEnd', hideFunction, self, true); self.resumePlayers(playersPaused, true); self.resumeGlobalAudios(); }; var setCloseButtonPosition = function() { var right = 10; var top = 10; closeButton.set('right', right); closeButton.set('top', top); }; this.MainViewer.set('toolTipEnabled', false); var closeButton = this.closeButtonPopupPanorama; if(closeButtonProperties){ for(var key in closeButtonProperties){ closeButton.set(key, closeButtonProperties[key]); } } var playersPaused = this.pauseCurrentPlayers(true); this.pauseGlobalAudios(); popupPanoramaOverlay.bind('end', endFunction, this, true); popupPanoramaOverlay.bind('showEnd', showEndFunction, this, true); popupPanoramaOverlay.bind('hideEnd', hideFunction, this, true); popupPanoramaOverlay.set('visible', true); },
  "stopGlobalAudio": function(audio){  var audios = window.currentGlobalAudios; if(audios){ audio = audios[audio.get('id')]; if(audio){ delete audios[audio.get('id')]; if(Object.keys(audios).length == 0){ window.currentGlobalAudios = undefined; } } } if(audio) audio.stop(); },
  "visibleComponentsIfPlayerFlagEnabled": function(components, playerFlag){  var enabled = this.get(playerFlag); for(var i in components){ components[i].set('visible', enabled); } },
  "setCameraSameSpotAsMedia": function(camera, media){  var player = this.getCurrentPlayerWithMedia(media); if(player != undefined) { var position = camera.get('initialPosition'); position.set('yaw', player.get('yaw')); position.set('pitch', player.get('pitch')); position.set('hfov', player.get('hfov')); } },
  "showPopupMedia": function(w, media, playList, popupMaxWidth, popupMaxHeight, autoCloseWhenFinished, containsAudio){  var self = this; var closeFunction = function(){ self.MainViewer.set('toolTipEnabled', true); this.resumePlayers(playersPaused, !containsAudio); if(isVideo) { this.unbind('resize', resizeFunction, this); } w.unbind('close', closeFunction, this); }; var endFunction = function(){ w.hide(); }; var resizeFunction = function(){ var parentWidth = self.get('actualWidth'); var parentHeight = self.get('actualHeight'); var mediaWidth = media.get('width'); var mediaHeight = media.get('height'); var popupMaxWidthNumber = parseFloat(popupMaxWidth) / 100; var popupMaxHeightNumber = parseFloat(popupMaxHeight) / 100; var windowWidth = popupMaxWidthNumber * parentWidth; var windowHeight = popupMaxHeightNumber * parentHeight; var footerHeight = w.get('footerHeight'); var headerHeight = w.get('headerHeight'); if(!headerHeight) { var closeButtonHeight = w.get('closeButtonIconHeight') + w.get('closeButtonPaddingTop') + w.get('closeButtonPaddingBottom'); var titleHeight = w.get('titleFontSize') + w.get('titlePaddingTop') + w.get('titlePaddingBottom'); headerHeight = closeButtonHeight > titleHeight ? closeButtonHeight : titleHeight; headerHeight += w.get('headerPaddingTop') + w.get('headerPaddingBottom'); } if(!footerHeight) { footerHeight = 0; } var contentWindowWidth = windowWidth - w.get('bodyPaddingLeft') - w.get('bodyPaddingRight') - w.get('paddingLeft') - w.get('paddingRight'); var contentWindowHeight = windowHeight - headerHeight - footerHeight - w.get('bodyPaddingTop') - w.get('bodyPaddingBottom') - w.get('paddingTop') - w.get('paddingBottom'); var parentAspectRatio = contentWindowWidth / contentWindowHeight; var mediaAspectRatio = mediaWidth / mediaHeight; if(parentAspectRatio > mediaAspectRatio) { windowWidth = contentWindowHeight * mediaAspectRatio + w.get('bodyPaddingLeft') + w.get('bodyPaddingRight') + w.get('paddingLeft') + w.get('paddingRight'); } else { windowHeight = contentWindowWidth / mediaAspectRatio + headerHeight + footerHeight + w.get('bodyPaddingTop') + w.get('bodyPaddingBottom') + w.get('paddingTop') + w.get('paddingBottom'); } if(windowWidth > parentWidth * popupMaxWidthNumber) { windowWidth = parentWidth * popupMaxWidthNumber; } if(windowHeight > parentHeight * popupMaxHeightNumber) { windowHeight = parentHeight * popupMaxHeightNumber; } w.set('width', windowWidth); w.set('height', windowHeight); w.set('x', (parentWidth - w.get('actualWidth')) * 0.5); w.set('y', (parentHeight - w.get('actualHeight')) * 0.5); }; if(autoCloseWhenFinished){ this.executeFunctionWhenChange(playList, 0, endFunction); } var isVideo = media.get('class') == 'Video'; if(isVideo){ this.bind('resize', resizeFunction, this); resizeFunction(); } else { w.set('width', popupMaxWidth); w.set('height', popupMaxHeight); } this.MainViewer.set('toolTipEnabled', false); var playersPaused = this.pauseCurrentPlayers(!containsAudio); w.bind('close', closeFunction, this); w.show(this, true); },
  "setComponentVisibility": function(component, visible, applyAt, effect, propertyEffect, ignoreClearTimeout){  this.unregisterKey('visibility_'+component.get('id')); var changeVisibility = function(){ if(effect && propertyEffect){ component.set(propertyEffect, effect); } component.set('visible', visible); if(component.get('class') == 'ViewerArea'){ try{ if(visible) component.restart(); else if(component.get('playbackState') == 'playing') component.pause(); } catch(e){}; } }; var effectTimeoutName = 'effectTimeout_'+component.get('id'); if(!ignoreClearTimeout && window.hasOwnProperty(effectTimeoutName)){ var effectTimeout = window[effectTimeoutName]; if(effectTimeout instanceof Array){ for(var i=0; i<effectTimeout.length; i++){ clearTimeout(effectTimeout[i]) } }else{ clearTimeout(effectTimeout); } delete window[effectTimeoutName]; } else if(visible == component.get('visible') && !ignoreClearTimeout) return; if(applyAt && applyAt > 0){ var effectTimeout = setTimeout(function(){ if(window[effectTimeoutName] instanceof Array) { var arrayTimeoutVal = window[effectTimeoutName]; var index = arrayTimeoutVal.indexOf(effectTimeout); arrayTimeoutVal.splice(index, 1); if(arrayTimeoutVal.length == 0){ delete window[effectTimeoutName]; } }else{ delete window[effectTimeoutName]; } changeVisibility(); }, applyAt); if(window.hasOwnProperty(effectTimeoutName)){ window[effectTimeoutName] = [window[effectTimeoutName], effectTimeout]; }else{ window[effectTimeoutName] = effectTimeout; } } else{ changeVisibility(); } },
  "getCurrentPlayerWithMedia": function(media){  var playerClass = undefined; var mediaPropertyName = undefined; switch(media.get('class')) { case 'Panorama': case 'LivePanorama': case 'HDRPanorama': playerClass = 'PanoramaPlayer'; mediaPropertyName = 'panorama'; break; case 'Video360': playerClass = 'PanoramaPlayer'; mediaPropertyName = 'video'; break; case 'PhotoAlbum': playerClass = 'PhotoAlbumPlayer'; mediaPropertyName = 'photoAlbum'; break; case 'Map': playerClass = 'MapPlayer'; mediaPropertyName = 'map'; break; case 'Video': playerClass = 'VideoPlayer'; mediaPropertyName = 'video'; break; }; if(playerClass != undefined) { var players = this.getByClassName(playerClass); for(var i = 0; i<players.length; ++i){ var player = players[i]; if(player.get(mediaPropertyName) == media) { return player; } } } else { return undefined; } },
  "registerKey": function(key, value){  window[key] = value; },
  "getActivePlayerWithViewer": function(viewerArea){  var players = this.getByClassName('PanoramaPlayer'); players = players.concat(this.getByClassName('VideoPlayer')); players = players.concat(this.getByClassName('Video360Player')); players = players.concat(this.getByClassName('PhotoAlbumPlayer')); players = players.concat(this.getByClassName('MapPlayer')); var i = players.length; while(i-- > 0){ var player = players[i]; if(player.get('viewerArea') == viewerArea) { var playerClass = player.get('class'); if(playerClass == 'PanoramaPlayer' && (player.get('panorama') != undefined || player.get('video') != undefined)) return player; else if((playerClass == 'VideoPlayer' || playerClass == 'Video360Player') && player.get('video') != undefined) return player; else if(playerClass == 'PhotoAlbumPlayer' && player.get('photoAlbum') != undefined) return player; else if(playerClass == 'MapPlayer' && player.get('map') != undefined) return player; } } return undefined; },
  "setEndToItemIndex": function(playList, fromIndex, toIndex){  var endFunction = function(){ if(playList.get('selectedIndex') == fromIndex) playList.set('selectedIndex', toIndex); }; this.executeFunctionWhenChange(playList, fromIndex, endFunction); },
  "getCurrentPlayers": function(){  var players = this.getByClassName('PanoramaPlayer'); players = players.concat(this.getByClassName('VideoPlayer')); players = players.concat(this.getByClassName('Video360Player')); players = players.concat(this.getByClassName('PhotoAlbumPlayer')); return players; },
  "getComponentByName": function(name){  var list = this.getByClassName('UIComponent'); for(var i = 0, count = list.length; i<count; ++i){ var component = list[i]; var data = component.get('data'); if(data != undefined && data.name == name){ return component; } } return undefined; },
  "getGlobalAudio": function(audio){  var audios = window.currentGlobalAudios; if(audios != undefined && audio.get('id') in audios){ audio = audios[audio.get('id')]; } return audio; },
  "existsKey": function(key){  return key in window; },
  "setMainMediaByIndex": function(index){  if(index >= 0 && index < this.mainPlayList.get('items').length){ this.mainPlayList.set('selectedIndex', index); } },
  "getMediaByName": function(name){  var list = this.getByClassName('Media'); for(var i = 0, count = list.length; i<count; ++i){ var media = list[i]; if((media.get('class') == 'Audio' && media.get('data').label == name) || media.get('label') == name){ return media; } } return undefined; },
  "setMainMediaByName": function(name){  var items = this.mainPlayList.get('items'); for(var i = 0; i<items.length; ++i){ if(items[i].get('media').get('label') == name) { this.mainPlayList.set('selectedIndex', i); return; } } },
  "unregisterKey": function(key){  delete window[key]; },
  "setMediaBehaviour": function(playList, index, mediaDispatcher){  var self = this; var stateChangeFunction = function(event){ if(event.data.state == 'stopped'){ dispose(true); } }; var changeFunction = function(){ var index = playListDispatcher.get('selectedIndex'); if(index != -1){ indexDispatcher = index; dispose(false); } }; var disposeCallback = function(){ dispose(false); }; var dispose = function(forceDispose){ if(!playListDispatcher) return; var media = item.get('media'); if((media.get('class') == 'Video360' || media.get('class') == 'Video') && media.get('loop') == true && !forceDispose) return; playList.set('selectedIndex', -1); if(panoramaSequence && panoramaSequenceIndex != -1){ if(panoramaSequence) { if(panoramaSequenceIndex > 0 && panoramaSequence.get('movements')[panoramaSequenceIndex-1].get('class') == 'TargetPanoramaCameraMovement'){ var initialPosition = camera.get('initialPosition'); var oldYaw = initialPosition.get('yaw'); var oldPitch = initialPosition.get('pitch'); var oldHfov = initialPosition.get('hfov'); var previousMovement = panoramaSequence.get('movements')[panoramaSequenceIndex-1]; initialPosition.set('yaw', previousMovement.get('targetYaw')); initialPosition.set('pitch', previousMovement.get('targetPitch')); initialPosition.set('hfov', previousMovement.get('targetHfov')); var restoreInitialPositionFunction = function(event){ initialPosition.set('yaw', oldYaw); initialPosition.set('pitch', oldPitch); initialPosition.set('hfov', oldHfov); itemDispatcher.unbind('end', restoreInitialPositionFunction, self); }; itemDispatcher.bind('end', restoreInitialPositionFunction, self); } panoramaSequence.set('movementIndex', panoramaSequenceIndex); } } playListDispatcher.set('selectedIndex', indexDispatcher); if(player){ player.unbind('stateChange', stateChangeFunction, self); for(var i = 0; i<buttons.length; ++i) { buttons[i].unbind('click', disposeCallback, self); } } if(sameViewerArea){ if(playList != playListDispatcher) playListDispatcher.unbind('change', changeFunction, self); } else{ viewerArea.set('visible', false); } playListDispatcher = undefined; }; var mediaDispatcherByParam = mediaDispatcher != undefined; if(!mediaDispatcher){ var currentIndex = playList.get('selectedIndex'); var currentPlayer = (currentIndex != -1) ? playList.get('items')[playList.get('selectedIndex')].get('player') : this.getActivePlayerWithViewer(this.MainViewer); if(currentPlayer) { var playerClass = currentPlayer.get('class'); if(playerClass == 'PanoramaPlayer') { mediaDispatcher = currentPlayer.get('panorama'); if(mediaDispatcher == undefined) medisDispatcher = currentPlayer.get('video'); } else if(playerClass == 'VideoPlayer' || playerClass == 'Video360Player') mediaDispatcher = currentPlayer.get('video'); else if(playerClass == 'PhotoAlbumPlayer') mediaDispatcher = currentPlayer.get('photoAlbum'); else if(playerClass == 'MapPlayer') mediaDispatcher = currentPlayer.get('map'); } } var playListDispatcher = mediaDispatcher ? this.getPlayListWithMedia(mediaDispatcher, true) : undefined; if(!playListDispatcher){ playList.set('selectedIndex', index); return; } var indexDispatcher = playListDispatcher.get('selectedIndex'); if(playList.get('selectedIndex') == index || indexDispatcher == -1){ return; } var item = playList.get('items')[index]; var itemDispatcher = playListDispatcher.get('items')[indexDispatcher]; var viewerArea = item.get('player').get('viewerArea'); var sameViewerArea = viewerArea == itemDispatcher.get('player').get('viewerArea'); if(sameViewerArea){ if(playList != playListDispatcher){ playListDispatcher.set('selectedIndex', -1); playListDispatcher.bind('change', changeFunction, this); } } else{ viewerArea.set('visible', true); } var panoramaSequenceIndex = -1; var panoramaSequence = undefined; var camera = itemDispatcher.get('camera'); if(camera){ panoramaSequence = camera.get('initialSequence'); if(panoramaSequence) { panoramaSequenceIndex = panoramaSequence.get('movementIndex'); } } playList.set('selectedIndex', index); var player = undefined; var buttons = []; if(item.get('player') != itemDispatcher.get('player') || !mediaDispatcherByParam){ player = item.get('player'); if(player.get('class') == 'PanoramaPlayer' && item.get('media').get('class') != 'Video360') { var addButtons = function(property){ var value = player.get(property); if(Array.isArray(value)) buttons = buttons.concat(value); else buttons.push(value); }; addButtons('buttonStop'); for(var i = 0; i<buttons.length; ++i) { buttons[i].bind('click', disposeCallback, this); } } else { setTimeout(function(){player.bind('stateChange', stateChangeFunction, self)}, 100); } } this.executeFunctionWhenChange(playList, index, disposeCallback); },
  "getPanoramaOverlayByName": function(panorama, name){  var frames = panorama.get('frames'); for(var j = 0; j<frames.length; ++j){ var frame = frames[j]; var overlays = frame.get('overlays'); for(var i = 0, count = overlays.length; i<count; ++i){ var overlay = overlays[i]; var data = overlay.get('data'); if(data != undefined && data.label == name){ return overlay; } } } return undefined; },
  "setPanoramaCameraWithCurrentSpot": function(playListItem){  var currentPlayer = this.getActivePlayerWithViewer(this.MainViewer); if(currentPlayer == undefined){ return; } var playerClass = currentPlayer.get('class'); if(playerClass != 'PanoramaPlayer' && playerClass != 'Video360Player'){ return; } var fromMedia = currentPlayer.get('panorama'); if(fromMedia == undefined) { fromMedia = currentPlayer.get('video'); } var panorama = playListItem.get('media'); var newCamera = this.cloneCamera(playListItem.get('camera')); this.setCameraSameSpotAsMedia(newCamera, fromMedia); this.startPanoramaWithCamera(panorama, newCamera); },
  "setPanoramaCameraWithSpot": function(playListItem, yaw, pitch){  var panorama = playListItem.get('media'); var newCamera = this.cloneCamera(playListItem.get('camera')); var initialPosition = newCamera.get('initialPosition'); initialPosition.set('yaw', yaw); initialPosition.set('pitch', pitch); this.startPanoramaWithCamera(panorama, newCamera); },
  "getPlayListItems": function(media, player){  var itemClass = (function() { switch(media.get('class')) { case 'Panorama': case 'LivePanorama': case 'HDRPanorama': return 'PanoramaPlayListItem'; case 'Video360': return 'Video360PlayListItem'; case 'PhotoAlbum': return 'PhotoAlbumPlayListItem'; case 'Map': return 'MapPlayListItem'; case 'Video': return 'VideoPlayListItem'; } })(); if (itemClass != undefined) { var items = this.getByClassName(itemClass); for (var i = items.length-1; i>=0; --i) { var item = items[i]; if(item.get('media') != media || (player != undefined && item.get('player') != player)) { items.splice(i, 1); } } return items; } else { return []; } },
  "fixTogglePlayPauseButton": function(player){  var state = player.get('state'); var button = player.get('buttonPlayPause'); if(typeof button !== 'undefined' && player.get('state') == 'playing'){ button.set('pressed', true); } },
  "isCardboardViewMode": function(){  var players = this.getByClassName('PanoramaPlayer'); return players.length > 0 && players[0].get('viewMode') == 'cardboard'; },
  "showWindow": function(w, autoCloseMilliSeconds, containsAudio){  if(w.get('visible') == true){ return; } var closeFunction = function(){ clearAutoClose(); this.resumePlayers(playersPaused, !containsAudio); w.unbind('close', closeFunction, this); }; var clearAutoClose = function(){ w.unbind('click', clearAutoClose, this); if(timeoutID != undefined){ clearTimeout(timeoutID); } }; var timeoutID = undefined; if(autoCloseMilliSeconds){ var autoCloseFunction = function(){ w.hide(); }; w.bind('click', clearAutoClose, this); timeoutID = setTimeout(autoCloseFunction, autoCloseMilliSeconds); } var playersPaused = this.pauseCurrentPlayers(!containsAudio); w.bind('close', closeFunction, this); w.show(this, true); },
  "setStartTimeVideoSync": function(media, player){  this.setStartTimeVideo(media, player.get('currentTime')); },
  "loopAlbum": function(playList, index){  var playListItem = playList.get('items')[index]; var player = playListItem.get('player'); var loopFunction = function(){ player.play(); }; this.executeFunctionWhenChange(playList, index, loopFunction); },
  "setStartTimeVideo": function(media, time){  var items = this.getPlayListItems(media); var startTimeBackup = []; var restoreStartTimeFunc = function() { for(var i = 0; i<items.length; ++i){ var item = items[i]; item.set('startTime', startTimeBackup[i]); item.unbind('stop', restoreStartTimeFunc, this); } }; for(var i = 0; i<items.length; ++i) { var item = items[i]; startTimeBackup.push(item.get('startTime')); item.set('startTime', time); item.bind('stop', restoreStartTimeFunc, this); } },
  "shareFacebook": function(url){  window.open('https://www.facebook.com/sharer/sharer.php?u=' + url, '_blank'); },
  "loadFromCurrentMediaPlayList": function(playList, delta){  var currentIndex = playList.get('selectedIndex'); var totalItems = playList.get('items').length; var newIndex = (currentIndex + delta) % totalItems; while(newIndex < 0){ newIndex = totalItems + newIndex; }; if(currentIndex != newIndex){ playList.set('selectedIndex', newIndex); } },
  "getPlayListWithMedia": function(media, onlySelected){  var playLists = this.getByClassName('PlayList'); for(var i = 0, count = playLists.length; i<count; ++i){ var playList = playLists[i]; if(onlySelected && playList.get('selectedIndex') == -1) continue; var items = playList.get('items'); for(var j = 0, countJ = items.length; j<countJ; ++j){ if(items[j].get('media') == media) return playList; } } return undefined; },
  "shareGoogle": function(url){  window.open('https://plus.google.com/share?url=' + url, '_blank'); },
  "shareTwitter": function(url){  window.open('https://twitter.com/intent/tweet?source=webclient&url=' + url, '_blank'); },
  "pauseCurrentPlayers": function(onlyPauseCameraIfPanorama){  var players = this.getCurrentPlayers(); var i = players.length; while(i-- > 0){ var player = players[i]; if(player.get('state') == 'playing') { if(onlyPauseCameraIfPanorama && player.get('class') == 'PanoramaPlayer' && typeof player.get('video') === 'undefined'){ player.pauseCamera(); } else if(player.get('state') == 'playing') { player.pause(); } } else { players.splice(i, 1); } } return players; },
  "showComponentsWhileMouseOver": function(parentComponent, components, durationVisibleWhileOut){  var setVisibility = function(visible){ for(var i = 0, length = components.length; i<length; i++){ var component = components[i]; if(component.get('class') == 'HTMLText' && (component.get('html') == '' || component.get('html') == undefined)) { continue; } component.set('visible', visible); } }; if (this.rootPlayer.get('touchEnabled') == true){ setVisibility(true); } else { var timeoutID = -1; var rollOverFunction = function(){ setVisibility(true); if(timeoutID >= 0) clearTimeout(timeoutID); parentComponent.unbind('rollOver', rollOverFunction, this); parentComponent.bind('rollOut', rollOutFunction, this); }; var rollOutFunction = function(){ var timeoutFunction = function(){ setVisibility(false); parentComponent.unbind('rollOver', rollOverFunction, this); }; parentComponent.unbind('rollOut', rollOutFunction, this); parentComponent.bind('rollOver', rollOverFunction, this); timeoutID = setTimeout(timeoutFunction, durationVisibleWhileOut); }; parentComponent.bind('rollOver', rollOverFunction, this); } },
  "showPopupImage": function(image, toggleImage, customWidth, customHeight, showEffect, hideEffect, closeButtonProperties, autoCloseMilliSeconds, audio, stopBackgroundAudio, loadedCallback, hideCallback){  var self = this; var closed = false; var playerClickFunction = function() { zoomImage.unbind('loaded', loadedFunction, self); hideFunction(); }; var clearAutoClose = function(){ zoomImage.unbind('click', clearAutoClose, this); if(timeoutID != undefined){ clearTimeout(timeoutID); } }; var resizeFunction = function(){ setTimeout(setCloseButtonPosition, 0); }; var loadedFunction = function(){ self.unbind('click', playerClickFunction, self); veil.set('visible', true); setCloseButtonPosition(); closeButton.set('visible', true); zoomImage.unbind('loaded', loadedFunction, this); zoomImage.bind('userInteractionStart', userInteractionStartFunction, this); zoomImage.bind('userInteractionEnd', userInteractionEndFunction, this); zoomImage.bind('resize', resizeFunction, this); timeoutID = setTimeout(timeoutFunction, 200); }; var timeoutFunction = function(){ timeoutID = undefined; if(autoCloseMilliSeconds){ var autoCloseFunction = function(){ hideFunction(); }; zoomImage.bind('click', clearAutoClose, this); timeoutID = setTimeout(autoCloseFunction, autoCloseMilliSeconds); } zoomImage.bind('backgroundClick', hideFunction, this); if(toggleImage) { zoomImage.bind('click', toggleFunction, this); zoomImage.set('imageCursor', 'hand'); } closeButton.bind('click', hideFunction, this); if(loadedCallback) loadedCallback(); }; var hideFunction = function() { self.MainViewer.set('toolTipEnabled', true); closed = true; if(timeoutID) clearTimeout(timeoutID); if(autoCloseMilliSeconds) clearAutoClose(); if(hideCallback) hideCallback(); zoomImage.set('visible', false); if(hideEffect && hideEffect.get('duration') > 0){ hideEffect.bind('end', endEffectFunction, this); } else{ zoomImage.set('image', null); } closeButton.set('visible', false); veil.set('visible', false); self.unbind('click', playerClickFunction, self); zoomImage.unbind('backgroundClick', hideFunction, this); zoomImage.unbind('userInteractionStart', userInteractionStartFunction, this); zoomImage.unbind('userInteractionEnd', userInteractionEndFunction, this, true); zoomImage.unbind('resize', resizeFunction, this); if(toggleImage) { zoomImage.unbind('click', toggleFunction, this); zoomImage.set('cursor', 'default'); } closeButton.unbind('click', hideFunction, this); self.resumePlayers(playersPaused, audio == null || stopBackgroundAudio); if(audio){ if(stopBackgroundAudio){ self.resumeGlobalAudios(); } self.stopGlobalAudio(audio); } }; var endEffectFunction = function() { zoomImage.set('image', null); hideEffect.unbind('end', endEffectFunction, this); }; var toggleFunction = function() { zoomImage.set('image', isToggleVisible() ? image : toggleImage); }; var isToggleVisible = function() { return zoomImage.get('image') == toggleImage; }; var setCloseButtonPosition = function() { var right = zoomImage.get('actualWidth') - zoomImage.get('imageLeft') - zoomImage.get('imageWidth') + 10; var top = zoomImage.get('imageTop') + 10; if(right < 10) right = 10; if(top < 10) top = 10; closeButton.set('right', right); closeButton.set('top', top); }; var userInteractionStartFunction = function() { if(timeoutUserInteractionID){ clearTimeout(timeoutUserInteractionID); timeoutUserInteractionID = undefined; } else{ closeButton.set('visible', false); } }; var userInteractionEndFunction = function() { if(!closed){ timeoutUserInteractionID = setTimeout(userInteractionTimeoutFunction, 300); } }; var userInteractionTimeoutFunction = function() { timeoutUserInteractionID = undefined; closeButton.set('visible', true); setCloseButtonPosition(); }; this.MainViewer.set('toolTipEnabled', false); var veil = this.veilPopupPanorama; var zoomImage = this.zoomImagePopupPanorama; var closeButton = this.closeButtonPopupPanorama; if(closeButtonProperties){ for(var key in closeButtonProperties){ closeButton.set(key, closeButtonProperties[key]); } } var playersPaused = this.pauseCurrentPlayers(audio == null || !stopBackgroundAudio); if(audio){ if(stopBackgroundAudio){ this.pauseGlobalAudios(); } this.playGlobalAudio(audio); } var timeoutID = undefined; var timeoutUserInteractionID = undefined; zoomImage.bind('loaded', loadedFunction, this); setTimeout(function(){ self.bind('click', playerClickFunction, self, false); }, 0); zoomImage.set('image', image); zoomImage.set('customWidth', customWidth); zoomImage.set('customHeight', customHeight); zoomImage.set('showEffect', showEffect); zoomImage.set('hideEffect', hideEffect); zoomImage.set('visible', true); return zoomImage; },
  "setMapLocation": function(panoramaPlayListItem, mapPlayer){  var resetFunction = function(){ panoramaPlayListItem.unbind('stop', resetFunction, this); player.set('mapPlayer', null); }; panoramaPlayListItem.bind('stop', resetFunction, this); var player = panoramaPlayListItem.get('player'); player.set('mapPlayer', mapPlayer); }
 },
 "width": "100%",
 "id": "rootPlayer",
 "scrollBarVisible": "rollOver",
 "overflow": "visible",
 "vrPolyfillScale": 0.5,
 "scrollBarMargin": 2,
 "layout": "absolute",
 "data": {
  "name": "Player447"
 },
 "horizontalAlign": "left",
 "mouseWheelEnabled": true,
 "paddingBottom": 0
})