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