// Licensed Materials - Property of IBM // IBM Cognos Products: cclcore // (C) Copyright IBM Corp. 2005, 2013 // US Government Users Restricted Rights – Use, duplication or disclosure restricted // by GSA ADP Schedule Contract with IBM Corp. var sDefaultLang = "en"; var sDefaultFeaturesHelp = "toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=680,height=500"; var sDefaultFeaturesQuickTours = "toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=800,height=600"; // A common API to fire up help documentation // @sProductLocale: the target product locale // @sStartupFile: the start up file // @sContext: the web context line // @sGateway: the gateway string function gotoHelp( sProductLocale, sStartupFile, sContext, sGateway ) { var sURLStartToken = "../documentation/"; if ( sGateway != null && sGateway != "" ) { sURLStartToken = sGateway + "/documentation/"; } var sURLLangToken = sProductLocale; var sURLEndToken = "/" + sStartupFile; sURLEndToken += (sContext == "") ? ".html" : ".html?helpid=" + sContext; checkUrlExists (sURLStartToken,sURLLangToken,sURLEndToken,new Function ("url", "openHelp(url);")); } function openHelp (url) { helpWindow = window.open(url, "helpWindow", sDefaultFeaturesHelp); helpWindow.focus(); } // A common API to fire up quick tours documentation // @sProductLocale: the target product locale // @sStartupFile: the start up file under tours folder // @sOptions: the options // Note: As WO-2163, the sStartupFile and sOptions arguments would be obsolete now. // For backward compatibility, just leave it as it was before. function gotoTours( sProductLocale, sStartupFile, sOptions ) { var sURLStartToken = "../documentation/"; var sURLLangToken = sProductLocale; var sURLEndToken = "/tours/" + "crntours.html?sStartupFile=" + sStartupFile; if ( sOptions != null && sOptions != "" ) { sURLEndToken += "&" + sOptions; } checkUrlExists (sURLStartToken,sURLLangToken,sURLEndToken,new Function ("url", "openTours(url);")); } function openTours (url) { var toursWindow = window.open(url, "toursWindow", sDefaultFeaturesQuickTours); toursWindow.focus(); } // The following two APIs will help ReportStudio & CMM etc. for redirecting purpose. function initDocs() { var query = parseHash(window.location.href); // read URL for topic/section info var sLang = sDefaultLang; var sBook = "wig_cr_a"; // Drfault to "Get Started" documentation var sHelpID = ""; var sCurrentTopic = ""; var sStartupFile = ""; // when using crntours menu, pass the app info to highlight if( query['lang'] && (query['lang'] != "") ) { sLang = query['lang']; } if( query['book'] && (query['book'] != "") ) { sBook = query['book']; } if( query['helpid'] && (query['helpid'] != "") ) { sHelpID = query['helpid']; } if( query['sStartupFile'] && (query['sStartupFile'] != "") ) { sStartupFile = query['sStartupFile']; } var sCurrentTopicStartToken = ""; var sCurrentTopicLangToken = sLang; var sCurrentTopicEndToken = "/" + sBook + ".html"; if( sHelpID != "" ) { sCurrentTopicEndToken += "?helpid=" + sHelpID; } else if( sStartupFile != "" ) { sCurrentTopicEndToken += "?sStartupFile=" + sStartupFile; } // determine full path to html var sDirTopics = ""; var sDirString = window.location.href.substring(0, window.location.href.indexOf('?') ); var nPos = sDirString.lastIndexOf('/'); sDirTopics = (nPos != -1) ? window.location.href.substring(0, nPos + 1) : ""; sCurrentTopicStartToken = sDirTopics; checkUrlExists(sCurrentTopicStartToken, sCurrentTopicLangToken, sCurrentTopicEndToken, new Function ("url", "openDocs(url);")); } function openDocs (url) { window.location.href = url; } function parseHash(s) { var query = new Array(); var nPos = s.indexOf("?"); if (nPos != -1) { s = s.substring(nPos + 1, s.length); var sPair = ""; while (s != "") { nPos = s.indexOf("&"); if (nPos == -1) { sPair = s; s = ""; } else { sPair = s.substring(0, nPos); s = s.substring(nPos + 1, s.length); } nPos = sPair.indexOf("="); if (nPos != -1) { query[sPair.substring(0, nPos)] = unescape(sPair.substring(nPos + 1, sPair.length)); } } } return query; } function displayDefaultDocFolderNotExistingMessage() { var msg = "The documentation page for the default language '" + sDefaultLang + "' does not exist! Please contact your administrator for help."; alert(msg); } /* * The Function checks if the specified URL exists. If it exists then it runs the onSuccess function. * If it does not exist then it constructs the URL to the docs in the default language kit, if that exists * runs the onSuccess function. * * @URL is constructed from: URL = urlStartToken + urlSlangToken + urlEndToken; * @onSuccessOpen: Function that is run, on the event that the URL exists. * * @exception: If the default docs are not found, just display an English message to indicate * the documentation page for the specified language does not exist. * This should rarely occur. */ function checkUrlExists (urlStartToken,urlSlangToken,urlEndToken,onSuccessOpen) { var url=urlStartToken + urlSlangToken + urlEndToken; xmlHttp = createXmlHttpObject(); try { //On local machine in firefox: exception happens if uri doesnt exist. xmlHttp.open("GET",url,true); } catch (e) { if (urlSlangToken == sDefaultLang) { displayDefaultDocFolderNotExistingMessage(); return; } checkUrlExists (urlStartToken,sDefaultLang,urlEndToken,onSuccessOpen); } xmlHttp.onreadystatechange = function () { if(xmlHttp.readyState == 4) { // Found if (xmlHttp.status == 200 || xmlHttp.status == 0) { if (onSuccessOpen == null) { return; } onSuccessOpen(url); } else { if(xmlHttp.status == 404) { if (urlSlangToken == sDefaultLang) { displayDefaultDocFolderNotExistingMessage(); return; } checkUrlExists (urlStartToken,sDefaultLang,urlEndToken,onSuccessOpen); } else { alert("A http error occurs!"); } } } } try { //On local machine in IE exception happens system resource not found. xmlHttp.send(null); } catch (e) { if (urlSlangToken == sDefaultLang) { displayDefaultDocFolderNotExistingMessage(); return; } checkUrlExists (urlStartToken,sDefaultLang,urlEndToken,onSuccessOpen); } } function createXmlHttpObject() { var xmlHttp = false; // For IE if (window.ActiveXObject) { try { xmlHttp = new ActiveXObject('Msxml2.XMLHTTP'); } catch (e) { xmlHttp = new ActiveXObject('Microsoft.XMLHTTP'); } } else if(window.XMLHttpRequest) { //Non IE browsers that support XMLHttpRequest xmlHttp = new XMLHttpRequest(); } return xmlHttp; }