// Open fullscreen feature for Flash Panorama Player application // Written by Denis V. Chumakov for flashpanoramas.com // import flash.display.Stage; import flash.display.StageDisplayState; import flash.display.InteractiveObject.*; import flash.events.*; import flash.net.*; import flash.external.ExternalInterface; loaderInfo.addEventListener(Event.INIT, initHandler); // external variables, defined by main panorama application: var showCloseButton:Number=0; var windowName, windowUrl:String; function initHandler (event:Event) { if (loaderInfo.loader!=null) { stage.addEventListener(Event.RESIZE, resizeHandler); resizeHandler(); open_btn.addEventListener(MouseEvent.CLICK, doOpen); close_btn.addEventListener(MouseEvent.CLICK, doClose); } } function resizeHandler(event:Event=null) { // set up open/close buttons open_btn.x = stage.stageWidth - 4; open_btn.y = stage.stageHeight - 4; close_btn.x = stage.stageWidth - 4; close_btn.y = stage.stageHeight - 4; // instead of the player number detection, check property existence if (stage.hasOwnProperty("displayState")) { open_btn.visible = stage.displayState == StageDisplayState.NORMAL; close_btn.visible = stage.displayState == StageDisplayState.FULL_SCREEN; } else { close_btn.visible = showCloseButton == 1; open_btn.visible = !close_btn.visible; } } function doOpen (event:Event=null) { if (stage.hasOwnProperty("displayState")) { stage.displayState = StageDisplayState.FULL_SCREEN; } else { // open a new fullscreen window if player dosn't support fullscreen mode if (ExternalInterface.available) { var r = ExternalInterface.call("openWindow", windowUrl, windowName); if (!r) { navigateToURL(new URLRequest(windowUrl),"_blank"); } } else { navigateToURL(new URLRequest(windowUrl),"_blank"); } } } function doClose (event:Event=null) { if (stage.hasOwnProperty("displayState")) { stage.displayState = StageDisplayState.NORMAL; } else { // close alternative if (ExternalInterface.available) { var r = ExternalInterface.call("closeWindow"); if (!r) { navigateToURL(new URLRequest("javascript:window.close();void(0);"),"_self"); } } else { navigateToURL(new URLRequest("javascript:window.close();void(0);"),"_self"); } } }