"use strict"; async function open_window(cid) { var original_window = null; //var win_id = null; //win_id = make_id(cid); //opened_win = await make_new_window(win_id, null, null, null, null, "", cid); original_window = document.getElementById(get_original_window_id(cid)); if (original_window !== null) { //deactivate_global_active_window(); //set_active_window(original_window.id); //move_to_front(original_window.id); original_window.style.zIndex = parseFloat(get_top_window_z_index()) + 1; ////original_window.style.zIndex = parseFloat(global_active_window.style.zIndex) + 2; //alert(original_window.id); return original_window; } else { //alert("c0w"); return null; } //move_to_front(win_id); //deactivate_global_active_window(); //set_active_window(opened_win.getAttribute("id")); } //async function open_original_window(win_id) { // //1.) does an object in the DOM that has the same id exist? // //2.) do any duplicate window instances of the original window exist? // //3.) if no object exists, and no object duplicate instance exists, then open the window. // var win_is_open = null; // var has_duplicates = null; // var cid = null; // var opened_win = null; // win_is_open = is_window_already_open(win_id); // has_duplicates = has_duplicate_window_instances(win_id); // if (win_is_open === true) { // if (has_duplicates !== true) { // cid = get_content_id_by_win_id(win_id); // if (cid !== null) { // opened_win = await make_new_window(win_id, null, null, null, null, "", cid); // } // } // } // return opened_win; //} //This function returns the window object that is currently open, and //where a window object isn't a duplicate window, return the window object function get_original_window_id(cid) { var win = null; var wins = []; var i = null; var is_duplicate = null; var len = null; var win_cid = null; wins = document.getElementsByName("web_window"); if (wins !== null) { len = wins.length; for (i = 0; i < len; i++) { win = wins[i]; win_cid = win.getAttribute("id").split("_")[2]; //alert(win_cid); if (cid === win_cid) { if (win.hasAttribute("data-is_duplicate_window") === true) { is_duplicate = win.getAttribute("data-is_duplicate_window"); if (is_duplicate === "false" || is_duplicate === false) { return win.getAttribute("id"); } } } } } return null; } //async function open_original_window(win_id) { // //1.) does an object in the DOM that has the same id exist? // //2.) do any duplicate window instances of the original window exist? // //3.) if no object exists, and no object duplicate instance exists, then open the window. // var win_is_open = null; // var has_duplicates = null; // var cid = null; // var opened_win = null; // win_is_open = is_window_already_open(win_id); // has_duplicates = has_duplicate_window_instances(win_id); // if (win_is_open !== true) { // if (has_duplicates !== true) { // cid = get_content_id_by_win_id(win_id); // if (cid !== null) { // opened_win = await make_new_window(win_id, null, null, null, null, "", cid); // } // } // } // return opened_win; //} async function open_duplicate_window_instance(win_id) { var win_is_open = null; var duplicate_win = null; win_is_open = is_window_already_open(win_id); if (win_is_open === "true" || win_is_open === true) { cid = get_content_id_by_win_id(win_id); if (cid !== null) { duplicate_win = await make_new_window(null, null, null, null, null, (get_window_title(win_id) + " (Duplicate)"), cid); } } return duplicate_win; } function has_duplicate_window_instances(win_id) { var cid = null; var win = null; var wins = []; var i = null; var id_attr = null; var win_cid = null; var has_duplicate_instances = null; has_duplicate_instances = false; cid = get_content_id_by_win_id(win_id); if (cid !== null) { cid = cid.toString(); wins = document.getElementsByName("web_window"); if (wins.length > 0) { for (i = 0; i < wins.length;i++) { win = wins[i]; if (win !== null) { if (win.hasAttribute("id") === true) { id_attr = win.getAttribute("id"); if (typeof id_attr === "string" && id_attr.indexOf("_") >= 0) { win_cid = id_attr.split("_")[2]; win_cid = win_cid.toString(); if (win_cid === cid) { has_duplicate_instances = true; } } } } } } } return has_duplicate_instances; } function is_window_already_open(win_id) { var win = null; var win_is_open = null; win_is_open = false; win = document.getElementById(win_id); if (win !== null) { win_is_open = true; } return win_is_open; } //Each window has an 'id' HTML attribute. By default, the content_id //string is formatted as 'window_00001_1000000000000000'. Returns the //'1000000000000000' portion of the string function get_content_id_by_win_id(win_id) { var cid = null; if (typeof win_id === "string" && win_id.length > 0) { if (win_id.indexOf("_") >= 0) { cid = win_id.split("_")[2]; } else { return null; } } return cid; } function duplicate_window_count(win_id) { var wins = []; var win = null; var i = null; var is_duplicate = null; var duplicate_count = null; var cid = null; duplicate_count = 0; cid = get_content_id_by_win_id(win_id); if (typeof cid === "string" && cid.length > 0 && cid !== null) { //a valid content_id string was returned. continue on with function. } else { //cid = "1000000000000000"; return null; //exit the function. The content_id string isn't valid. } wins = document.getElementsByName("web_window"); if (wins !== null) { if (wins.length > 0) { for (i = 0; i < wins.length; i++) { win = wins[i]; if (win !== null) { if (win.hasAttribute("data-is_duplicate_window") === true) { is_duplicate = win.getAttribute("data-is_duplicate_window"); if (is_duplicate === "true" || is_duplicate === true) { duplicate_count++; } } } } } } return duplicate_count; } /* function open_original_window(cid) { var duplicate_window_exists = null; var is_duplicate_window_instance = null; //if there are any open instances of the original window with //the same content_id, but unique HTML attribute, returns true. is_duplicate_window_instance = false; is_duplicate_window_instance = ""; //the win_id value only uses the content_id, provided //it's inside a string. //(e.g.the win_id is 'window_0001_2143827258885544', BUT the funtion only checks the'2143827258885544' section of the id value.) duplicate_window_exists = false; //default to false duplicate_window_exists = duplicate_window_exists(win_id); } //if the window is an instance of an original window. function is_duplicate_window_instance(win_id) { var w = null; var is_duplicate = null; var is_original_window = null; var output = null; is_duplicate = false; is_original_window = false; output = null; w = document.getElementById(win_id); if (w !== null) { } else { } } function is_duplicate_window(win_id) { var wins = []; var win = null; var i = null; var is_duplicate = null; var duplicate_count = null; var cid = null; duplicate_count = 0; cid = get_content_id_by_win_id(win_id); if (typeof cid === "string" && cid.length > 0 && cid !== null) { //a valid content_id string was returned. continue on with function. } else { //cid = "1000000000000000"; return null; //exit the function. The content_id string isn't valid. } wins = document.getElementsByName("web_window"); if (wins !== null) { if (wins.length > 0) { for (i = 0; i < wins.length; i++) { win = wins[i]; if (win !== null) { if (win.hasAttribute("data-is_duplicate_window") === true) { is_duplicate = win.getAttribute("data-is_duplicate_window"); if (is_duplicate === "true" || is_duplicate === true) { duplicate_count = duplicate_count++; } } } } } } return duplicate_count; } */