"use strict"; var global_chromosphere = null; global_chromosphere = this; var global_start_timestamp = null; var global_loaded_timestamp = null; var global_window_array = []; var global_active_window = null; var global_active_window_id = null; var global_active_window_left = null; var global_active_window_top = null; var global_active_window_width = null; var global_active_window_offsetWidth = null; var global_active_window_height = null; var global_active_window_offsetHeight = null; var global_active_window_loc_x = null; var global_active_window_loc_y = null; var global_mouse_coords_x = null; var global_mouse_coords_y = null; var global_desktop_width = null; var global_desktop_height = null; var global_window_mode = null; var global_left_mouse_button_down = null; var global_min_window_w = null; var global_min_window_y = null; var global_cached_blank_img = null; //Initializes the global cached blank/transparent variable global_cached_blank_img = new Image(); //sets the variable value to an image object global_cached_blank_img.src = "/chromosphere/images/blank.gif"; //sets a 1 x 1 blank and transparent image as this image's src var global_window_create_timeout = []; var global_remove_grid_timer = null; var global_close_timer = null; var global_timer_hide_desktop = null; var global_xmlhttp_array = []; var global_interval_timer_array = []; var global_banner_resize_timer_id = null; var global_hostname = null; var global_fade_obj_timer_id = null; var global_fade_in_timer_id = null; var global_fade_in_timer = null; var global_move_x_delay_timer_id = null; var global_move_y_delay_timer_id = null; var global_timer_x_left_animate_id = null; var global_timer_x_right_animate_id = null; var global_timer_y_up_animate_id = null; var global_timer_y_down_animate_id = null; var global_timer_w_decrease_animate_id = null; var global_timer_w_increase_animate_id = null; var global_timer_h_decrease_animate_id = null; var global_timer_h_increase_animate_id = null; var global_mouseover_content = null; var global_client_time = null; var global_client_timer_id = null; var global_window_time_open_timer_id = null; var xmlhttp_timer_id_array = []; var global_touch_X = null; var global_touch_Y = null; var global_get_minimized_array = []; var global_move_win_down_timer_ID = null; var global_blue_to_white_timer = null; var global_script_array = []; var global_window_script_refresh_timer_id = null; var global_tId = null; var global_tId2 = null; var global_tId3 = null; var global_tId4 = null; var global_tId5 = null; var global_tId6 = null; var global_tId7 = null; var global_tId8 = null; var global_tId9 = null; var global_tId10 = null; var global_tId11 = null; var global_tId12 = null; var global_tId13 = null; var global_tId14 = null; var global_tId15 = null; var global_tId16 = null; var global_tId17 = null; var global_tId18 = null; var global_tId19 = null; var global_tId20 = null; var global_tId21 = null; var global_tId22 = null; var global_tId23 = null; var global_tId24 = null; var global_tId25 = null; var global_tId26 = null; var global_tId27 = null; var tId = null; var tId2 = null; var tId3 = null; var tId4 = null; var tId5 = null; var tId6 = null; var tId7 = null; var tId8 = null; var tId9 = null; var global_caption_box_timer = null; var global_expand_win_menu_timer = null; var global_retract_win_menu_timer = null; var killId = null; //count all other active timer Ids and clear them out (clear_all_timers() funtion) var global_msg_box_return_timer = null; //this waits until message box returns data from the user var global_standby_timer = null; //waits until an element exists var global_await_return_tId = null; /**** Global variables to set colors of windows, drop shadows, and transparency ****/ var global_window_bgColor = null; var global_window_content_bgColor = null; var global_window_innerShadow = null; var global_active_window_dropshadow = null; var global_inactive_window_dropshadow = null; var global_hide_window_dropshadow = null; var global_window_opacity = null; var global_window_status_color = null; var global_window_title_color = null; var global_menubar_dropshadow = null; var global_icon_opacity = null; var global_window_content_opacity = null; var global_window_outer_glow = null; var global_button_bgColor_dark = null; var global_button_bgColor_light = null; var global_button_textColor_dark = null; var global_button_textColor_light = null; var global_window_padding_top = null; var global_window_padding_right = null; var global_window_padding_bottom = null; var global_window_padding_left = null; //var global_backdrop_blur_filter = null; var global_title_font_size = null; var global_title_font_color = null; var global_title_font_family = null; var global_title_font_weight = null; var global_title_text_drop_shadow = null; var global_large_text_font_size = null; var global_large_text_font_color = null; var global_large_text_font_family = null; var global_large_text_font_weight = null; var global_large_text_drop_shadow = null; var global_medium_text_font_size = null; var global_medium_text_font_color = null; var global_medium_text_font_family = null; var global_medium_text_font_weight = null; var global_medium_text_drop_shadow = null; var global_small_text_font_size = null; var global_small_text_font_color = null; var global_small_text_font_family = null; var global_small_text_font_weight = null; var global_small_text_drop_shadow = null; var global_tiny_text_font_size = null; var global_tiny_text_font_color = null; var global_tiny_text_font_family = null; var global_tiny_text_font_weight = null; var global_tiny_text_drop_shadow = null; var global_window_top_border = null; var global_window_left_border = null; var global_window_right_border = null; var global_window_bottom_border = null; var global_window_corner_radius = null; var global_window_top_border_width = null; var global_window_top_border_style = null; var global_window_top_border_color = null; var global_window_left_border_width = null; var global_window_left_border_style = null; var global_window_left_border_color = null; var global_window_right_border_width = null; var global_window_right_border_style = null; var global_window_right_border_color = null; var global_window_bottom_border_width = null; var global_window_bottom_border_style = null; var global_window_bottom_border_color = null; var global_window_border_width = null; var global_window_border_style = null; var global_window_border_color = null; var global_window_contents_container_border_radius = null; //Web window content container styles var global_window_contents_container_background_color = null; var global_window_contents_container_border_top_color = null; var global_window_contents_container_border_right_color = null; var global_window_contents_container_border_bottom_color = null; var global_window_contents_container_border_left_color = null; var global_window_contents_container_border_style = null; var global_window_contents_container_border_width = null; //At the bottom left of each web window there is space for small text. This variable sets the status text to have a shadow var global_window_status_text_shadow = null; //2023-11-15: //create two variables that set the window opacity, and the window table opacity. //var global_window_outer_opacity = null; //var global_window_inner_opacity = null; /**** End Global variables to set colors of windows, drop shadows, and transparency ****/ var global_delay_window_minimize_timer = null; var global_session_time = null; var global_hide_menu_timer_ID = null; var global_mouse_is_over_menu = null; var GLOBAL_timer_id_1 = null; var global_cancel_timer_submenu_hide = null; var global_css_pixel_ratio = null; var global_zoom = null; var global_zoom_inverse = null; //allows UI any animations to occur if set to true. Else it is false. var global_animations_on = null; //I set up a testing mode to work with the UI content blocking layer. //when mode is set to true, the normally transparent blocking layer //images are opaque white. Otherwise, they're invisible. var global_ui_interaction_window_content_block_test_mode = null; //when resizing, or moving web-windows, a UI blocking layer //fills the window and blocks unintended interaction. This allows //for smooth movement and resizing of web windows. Otherwise, the mouse //interacts with the web-window content, and the otherwise smooth movements //jerk all over. To test it, I have to be able to see it in action. //When test mode is set to true, the behavior of the blocking //layer can be observed. Otherwise, it's entirely transparent var global_ui_interaction_screen_content_block_test_mode = null; //2023-11-15: //set a global variable to test mode on for when //the progress bar is displayed. The progress bar displays //in a smi-transparent fashion. var global_progress_bar_background_test_mode = null; //this global variable stores the timer delay for helper captions (helper_cpations.js) var global_helper_captions_timer_id = null; //2023-06-22: this global array stores the inner html of a //web window's thumbnail, its id attribute, and an index number. //setting it to null because it's later defined as a multi-dimensional array. var global_web_window_thumbnails_array = null; //2023-07-22: //a global variable which can be true or false, or null. //if set to true, this tells the computer to access thumbnails //that are cached in the DOM. If it is false, or null, then thumbnails //are recreated from scratch each time they are to be displayed //see thumbnails.js var global_thumbnails_enable_cached_thumbnails = null; //2023-09-22: //Set a global variable that stores a boolean value //indicating that "global test mode" is on, or off. //Test mode is a blanket feature that allows the web app //to be tested, debugged, & analyzed, and also allow it to be //in "published" mode where the end-user doesn't see what //is going on under the hood. var global_test_mode = null; //2024-1-15: //A global variable that holds the background image, //so that the browser caches it. See file 'config_desktop_layout'. var global_cached_background_image = null; //2024-03-19: //a setTimeout timer id for displaying the "more window actions" box. //The timer must be cancelled before calling the setTimeout function //so that it resets before it is displayed. Otherwise, the pause for //hiding a displayed "more windows actions" box executed multiple //times as it toggles the box's display. var global_more_actions_icon_mouseout_timer_id = null; //2024-04-13: //a global variable that stores the timer ID of a setTimeout function that //is used in the file: 'stow_minimized_windows.js'. This timer ID is set //in order to prevent minimized windows that are in the process of being stowed. //it also prevents any minimized windows from being stowed if minimized windows //are in the process of displaying as stacked minimized windows. //--------------------------------------------------------------------- //NOTE: keep in mind that this global variable is used in the event listener //for the "mousedown" action on the 'stow minimized windows' box/button //which stows and unstows minimized windows programatically. it's only //activated by an event, and not a function call. //see file: 'stow_minimized_windows.js' and within that file, the function //named 'set_stow_minimized_box_event_listeners(stow_minimized_box)' is what //uses this timer ID for a 'mousedown' event listener. //---------------------------------------------------------------------- var global_stow_minimized_windows_timer_ID = null; //2024-04-19: //this global variable holds the timer ID for use in a FUNCTION where //minimized windows are stowed and unstowed programatically. in order //to avoid conflicts, a separate timer ID variable is needed other than //the timer ID located in the "mousedown" event listener function. the //variables look similar, but are not the same. the function which //uses this timer ID is located in the file: 'stow_minimized_variables.js' //see the function: 'toggle_stow_unstow_minimized_windows_by_function()'. var global_stow_minimized_windows_function_timer_ID = null; //2024-04-19: //a global variable to store the timer ID of a setTimeout function that //resizes the minimized window scroll box. var global_tuck_minized_windows_timer_ID = null; //2024-05-13: //this variable holds the stop watch object(s). //see file: 'stop_watch.js' var global_stop_watch = null; //2024-05-13: //this variable holds the time value for the stop watch. //see file: 'stop_watch.js' var global_stop_watch_time = null; //2024-05-13: //this variable creates the webWorker() for the stop watch functionality. //see file: 'stop_watch.js' var global_stop_watch_web_worker = null; //2024-05-15: //the progress bar feature has a timer delay //before it's removed from the DOM. this var //holds that timer id. see file: 'progress_bar_2.js' var global_close_progress_bar_timer_id = null; //2024-05-18: //this global variable will hold the id attribute of the last window that was clicked. //see file: 'window_2.js' ////var global_last_window_mousedown_id = null; //2024-08-16: //a global variable to store a setTimeout timer ID for //saving code editor text to the database. //see file: 'code_editor_https.js'. var global_code_editor_http_save_data_timer_id = null; //2024-08-16: //these two global variables will hold the X, and Y coordinates //on a "touchmove" event handler on the window element. //see file: 'ui_touch_events.js' var global_touch_move_client_x = null; var global_touch_move_client_y = null; //2024-09-27: //declaring a global array variable that will store the return value //of code which is executed in a setTimeout time delay function. a //delay is required in order to execute code, so the output is stored //in a global variable. //see file: 'fullscreen_stack.js' var global_table_inner_node_array = []; //2024-12-11: //creating a feature that requires 5 knocks on the door //(i.e. when the "mouse clicks on the web browser window.") //see file: '/chromosphere/scripts/js/ui/testing/request_knock_to_enter/listen_for_a_user_knock.js' ////var global_knock_timer_id = null; ////var global_number_of_knocks = null; //see file: 'window_2.js' for the function //that sets the value to these global variables //according to the X, and Y scrolling offset //of the browser window. see also, file: 'start.js' //for the window.onscroll event listener. var global_window_scroll_x = null; var global_window_scroll_y = null; //2025-01-18: //this is an array object that will easily //allow for setting a timeout and storing //the timeout id globally. var global_timer_ids = [];