123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220 |
- // Licensed Materials - Property of IBM
- //
- // IBM Cognos Products: pps
- //
- // (C) Copyright IBM Corp. 2005, 2017
- //
- // US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
- var MESSAGE_TYPE_INFO = 0;
- var MESSAGE_TYPE_SIMPLE = 1;
- var MESSAGE_TYPE_WARNING = 2;
- var MESSAGE_SIDE_PADDING = 40;
- var imagesLoaded = false;
- var infoImage = new Image();
- var warningImage = new Image();
- loadImages();
-
- function loadImages() {
- //pre-load images if they are available.
- if (topparent.getGlobal("virtualDirRoot")) {
- infoImage.src = topparent.getGlobal("virtualDirRoot") + "/ppwb/Icon/info.gif";
- warningImage.src = topparent.getGlobal("virtualDirRoot") + "/ppwb/Icon/warning.gif";
- imagesLoaded=true;
- }
- }
- var messageBlanket = null;
- function displayCommonMessage(text, type, button_texts, button_actions) {
- removeMessage();
- hideAllSelectBoxes();
- initBlanket();
- createMessage(text, type, button_texts, button_actions);
- positionMessage();
- }
- function initBlanket() {
- var windowWidth = document.body.offsetWidth;
- var windowHeight = document.body.offsetHeight;
- if (window.innerWidth) {
- windowWidth = window.innerWidth;
- windowHeight = window.innerHeight;
- }
- messageBlanket = document.createElement("DIV");
-
- messageBlanket.className = "commonMessageBlanket";
-
- messageBlanket.style.height = windowHeight - messageBlanket.offsetTop - 24;
- messageBlanket.style.width = windowWidth - 1;
- document.body.appendChild(messageBlanket);
-
- }
- function createMessage(text, type, button_texts, button_actions) {
-
- var message = document.createElement("DIV");
- message.className = "commonMessageContainer";
- message.id = "commonMessageInsert";
- /*********** Standard Message ************/
- var contentTable = document.createElement("TABLE");
- var contentTableBody = document.createElement("TBODY");
- contentTable.appendChild(contentTableBody);
- var contentRow = document.createElement("TR");
- contentTableBody.appendChild(contentRow);
- var textCell = document.createElement("TD");
- textCell.className = "commonMessageTextCell";
- if (type != MESSAGE_TYPE_SIMPLE) {
- var imgCell = document.createElement("TD");
- imgCell.className = "commonMessageImgCell";
-
- if (!imagesLoaded)
- loadImages();
- switch (type) {
- case MESSAGE_TYPE_INFO: insertIMGNode(imgCell, infoImage.src, "commonMessageImg", []); break;
- case MESSAGE_TYPE_WARNING: insertIMGNode(imgCell, warningImage.src, "commonMessageImg", []); break;
- }
- contentRow.appendChild(imgCell);
- }
- var texts = text.split("\n");
- for (var i = 0; i < texts.length; i++) {
- textCell.appendChild(document.createTextNode(texts[i]));
- textCell.appendChild(document.createElement("BR"));
- }
-
- contentRow.appendChild(textCell);
- message.appendChild(contentTable);
- /**************** OK/Cancel Buttons ************/
- if (button_texts.length) {
- var buttonDiv = document.createElement("DIV");
- buttonDiv.className = "commonMessageButtonDiv";
- for (var i = 0; i < button_texts.length; i++) {
- var button = document.createElement("SPAN");
- button.className = "commonMessageButtonSpan";
- button.appendChild(document.createTextNode(button_texts[i]));
- button.onclick = button_actions[i];
- button.onmouseover = new Function("this.className = 'commonMessageButtonSpanRollover';");
- button.onmouseout = new Function("this.className = 'commonMessageButtonSpan';");
- buttonDiv.appendChild(button);
- buttonDiv.appendChild(document.createTextNode(" "));
- }
- message.appendChild(buttonDiv);
- }
- messageBlanket.appendChild(message);
- }
- function positionMessage() {
- var windowWidth = document.body.offsetWidth;
- var windowHeight = document.body.offsetHeight;
- if (window.innerWidth) {
- windowWidth = window.innerWidth;
- windowHeight = window.innerHeight;
- }
- var message = document.getElementById("commonMessageInsert");
- if (message.offsetWidth > windowWidth - 2 * MESSAGE_SIDE_PADDING)
- message.style.width = windowWidth - 2 * MESSAGE_SIDE_PADDING;
- message.style.top = parseInt((windowHeight - message.offsetHeight)/2);
- message.style.left = parseInt((windowWidth - message.offsetWidth)/2);
- }
- function removeMessage() {
- showAllSelectBoxes();
- if (messageBlanket != null) {
- document.body.removeChild(messageBlanket);
- messageBlanket = null;
- }
- }
- function hideAllSelectBoxes() {
- hideAllElementsOfTag("select");
- if (topparent.getGlobal("MacGecko")) {
- //Specific elements to hide, so that the scroll bars don't stay visible on OSX
- hideElementById("sourceTreeDiv");
- }
- }
- function showAllSelectBoxes() {
- showAllElementsOfTag("select");
- if (topparent.getGlobal("MacGecko")) {
- //Specific elements to show for OSX
- showElementById("sourceTreeDiv");
- }
- }
- function hideAllElementsOfTag(tagName) {
- var elements = document.getElementsByTagName(tagName);
- for (var i = 0; i < elements.length; i++) {
- hideElement(elements[i], "tag" + elements[i].tagName + i);
- }
- }
- function hideElementById(id) {
- var element = document.getElementById(id);
- if (element)
- hideElement(element, "id" + element.id);
- }
- function showElementById(id) {
- var element = document.getElementById(id);
- if (element)
- showElement(element, "id" + element.id);
- }
- function hideElement(element, hideId) {
- //check for a previously create select imitator
- var imitator = document.getElementById("cMessageSelectImitator" + hideId);
- if (imitator)
- imitator.style.display = "";
- else {
- imitator = document.createElement("DIV");
- imitator.className = "commonMessageSelectImitator";
- imitator.id = "cMessageSelectImitator" + hideId;
- imitator.style.width = element.offsetWidth;
-
- // fix for FF/NS to prevent scroll-bars from appearing.
- if (navigator.appVersion.indexOf("MSIE")>0)
- imitator.style.height = element.offsetHeight;
- else
- imitator.style.height = element.offsetHeight - 3;
-
- element.parentNode.insertBefore(imitator, element);
- }
- element.setAttribute("oldStyle",element.style.display);
- element.style.display = "none";
- }
- function showAllElementsOfTag(tagName) {
- var elements = document.getElementsByTagName(tagName);
- for (var i = 0; i < elements.length; i++) {
- showElement(elements[i], "tag" + elements[i].tagName + i);
- }
- }
- function showElement(element, showId) {
- if (element.getAttribute("oldStyle") != null)
- element.style.display = element.getAttribute("oldStyle");
-
- var imitator = document.getElementById("cMessageSelectImitator" + showId);
- if (imitator)
- imitator.style.display = "none";
- }
|