// 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"; }