
var frameworkSupport = {isAnonymous : false,frameworkPhase : "none"
};
frameworkSupport.init = function(obj)
{frameworkSupport.isAnonymous = obj.anonymous;frameworkSupport.frameworkPhase = obj.phase;frameworkSupport.portalURL = obj.portalURL;frameworkSupport.quickLink = obj.quickLink;}
frameworkSupport.init2 = function(obj)
{frameworkSupport.contentAreaURL = obj.contentAreaURL;frameworkSupport.innerPage = obj.innerPage;frameworkSupport.innerPageFrameURL	= obj.innerPageFrameURL;frameworkSupport.tlnComp = obj.tlnComp;frameworkSupport.serverPath = obj.serverPath;frameworkSupport.portalURL = obj.portalURL;frameworkSupport.ObjBasedNavigationURL	= obj.ObjBasedNavigationURL;}
frameworkSupport.onPersonalizePortalLoad = function()
{try
{window.frames[document.getElementById("isolatedWorkArea").name].document.body.tabIndex = -1;}
catch(e)
{}
setTimeout("EPCM.raiseEvent(\"urn:com.sap.portal.navigation\" , \"DtnFocus\" , null)",500);setTimeout("EPCM.raiseEvent(\"urn:com.sap.portal.navigation\" , \"DtnFocus\" , null)",1000);}
frameworkSupport.refreshPortal = function()
{try
{if(! frameworkSupport.isAnonymous)
{var str = EPCM._private.uipPortalPath;var navTarget = EPCM.getSAPTop().gHistoryFrameworkObj.GetActiveTrackingEntryValue().getUrl();var frm = document.createElement("<FORM METHOD=POST ACTION=\""+str+"\"> </FORM>");var target = document.createElement("<INPUT TYPE=\"hidden\" NAME=\"NavigationTarget\" value=\""+navTarget+"\">");frm.appendChild(target);document.body.insertBefore(frm);frm.submit();
}
}
catch(e){}
}
frameworkSupport.refreshContentArea = function()
{EPCM.raiseEvent('urn:com.sapportals:navigation','historyNavigate', 0);}
frameworkSupport.refreshPersonalizePortal = function()
{EPCM.raiseEvent('urn:com.sapportals:navigation','historyNavigate', 0);if (typeof window.opener.frameworkSupport != "undefined")
{window.opener.frameworkSupport.refreshPortal();}
else
{window.opener.location.reload();}
}
EPCM.subscribeEvent("urn:com.sapportals:navigation", "RefreshPortal", frameworkSupport.refreshPortal);EPCM.subscribeEvent("urn:com.sapportals:navigation", "RefreshPersonalizePortal", frameworkSupport.refreshPersonalizePortal);EPCM.subscribeEvent("urn:com.sapportals:navigation", "RefreshContentArea", frameworkSupport.refreshContentArea);
var nodeid;var fullTarget;var relativeFlag;var postBody = null;
function onNavigate(eventObj)
{EPCM.getSAPTop().postBody = null;relativeFlag = "false";postBody = eventObj.dataObject.postBody;if ( typeof (eventObj.dataObject.Type) == "string")
{var params="";target = eventObj.dataObject.target;
qm = target.indexOf("?");if (qm == -1)
{nodeid = target;}
else
{nodeid = target.substring(0,qm);params = target.substr(qm+1);
}
EPCM.raiseEvent("urn:com.sapportals:navigation", "UpdateTLN", nodeid);navigateShowInPlace(params , eventObj.dataObject.postBody);try{EPCM.getSAPTop().navPanelStatus = "exp";}
catch(e){}
}
else
{var contentAreaURL = frameworkSupport.contentAreaURL;var portalUrl = frameworkSupport.portalURL;var navContext = eventObj.dataObject.context;var windowId = eventObj.dataObject.windowId;fullTarget = eventObj.dataObject.target;
if ((fullTarget.indexOf("/irj") != 0) && (fullTarget.indexOf("http") != 0))
{target = eventObj.dataObject.target;qm = target.indexOf("?");if (qm == -1)
{nodeid = target;params = "NavigationTarget=" + encodeURIComponent(nodeid);}
else
{nodeid = target.substring(0,qm);params = "NavigationTarget=" + encodeURIComponent(nodeid) + "&" + target.substr(qm+1);}
if (navContext != undefined && navContext != null && navContext !='')
params += "&NavigationContext=" + encodeURIComponent(navContext);if (windowId != undefined && windowId != null)
params += "&windowId=" + escape(windowId);
if(eventObj.dataObject.targetTitle != undefined && eventObj.dataObject.targetTitle != null)
{params += "&TarTitle=" + eventObj.dataObject.targetTitle;}
if(eventObj.dataObject.mode == 1)
fullTarget = contentAreaURL + "?" + params;else
fullTarget = portalUrl + "?" + params;}
if (eventObj.dataObject.winfeatures != "")
{winfeatures = eventObj.dataObject.winfeatures + ",";}
else
{winfeatures = "";}
navigationToExternalWin(winfeatures, eventObj);}
}
function onRelativeNavigate(eventObj)
{var params="";relativeFlag = "true";
EPCM.getSAPTop().postBody = null;postBody = eventObj.dataObject.postBody;
nodeid = eventObj.dataObject.basenodename;if(eventObj.dataObject.basenodename != undefined && eventObj.dataObject.basenodename != null)
{
}
else
{
return false;}
if(eventObj.dataObject.levelsup != undefined && eventObj.dataObject.levelsup != null)
{params += "&RelativeLevelsup=" + escape(eventObj.dataObject.levelsup)
}
if(eventObj.dataObject.pathnameslist != undefined && eventObj.dataObject.pathnameslist != null)
{params += "&RelativePathlist=" + escape(eventObj.dataObject.pathnameslist);}
if(eventObj.dataObject.history != undefined && eventObj.dataObject.history != null && eventObj.dataObject.history != "")
{params += "&HistoryMode=" + escape(eventObj.dataObject.history)
}
if(eventObj.dataObject.context != undefined && eventObj.dataObject.context != null && eventObj.dataObject.context != "")
{params += "&NavigationContext=" + escape(eventObj.dataObject.context);}
if(eventObj.dataObject.targetTitle != undefined && eventObj.dataObject.targetTitle != null)
{params += "&TarTitle=" + escape(eventObj.dataObject.targetTitle)
}
if(eventObj.dataObject.windowId != undefined && eventObj.dataObject.windowId != null)
{params += "&windowId=" + escape(eventObj.dataObject.windowId)
}
if(eventObj.dataObject.addParams != undefined && eventObj.dataObject.addParams != null)
{params += "&" + eventObj.dataObject.addParams;}
if (eventObj.dataObject.winfeatures != "")
{winfeatures = eventObj.dataObject.winfeatures + ",";}
else
{winfeatures = "";}
if (params.charAt(0) == "&")
params = params.substr(1);
var contentAreaURL = frameworkSupport.contentAreaURL;var portalUrl = frameworkSupport.portalURL;
if(typeof(eventObj.dataObject.mode) == "undefined" || eventObj.dataObject.mode <= 1)
fullTarget = contentAreaURL + "?" + params;else
fullTarget = portalUrl + "?" + params;
if (eventObj.dataObject.mode == 0) {navigateShowInPlace(params, postBody);relativeFlag = "false";} else {navigationToExternalWin(winfeatures, eventObj);}
}
function navigateShowInPlace(requestParams , postBody)
{
frm = document.getElementById("frmChangeContent");
var innerPage = frameworkSupport.innerPage;var frameURL = frameworkSupport.innerPageFrameURL;var frameWinObj = pageSupport.getIvuFrameObj(innerPage);if(frameworkSupport.frameworkPhase == "framework" && frameWinObj != null)
{frm.target = frameWinObj.name;frm.action = frameURL + "?" + requestParams;}
else if(frameworkSupport.quickLink != undefined)
{frm.target + "_self";var locationStr = frameworkSupport.portalURL;frm.action = locationStr + "?standAlone=true&" + requestParams;}
else
{
frm.target + "_self";var locationStr = document.location.href;var index = locationStr.indexOf("?");if (index > 0)
locationStr = locationStr.substr(0, index);frm.action = locationStr + "?standAlone=true&" + requestParams;}
frm.NavigationTarget.value = nodeid;if (relativeFlag == "true")
frm.RelativeNavBase.value = nodeid;else
frm.RelativeNavBase.value = "";if(postBody)
{var oldHTML = frm.innerHTML;var innerHTML = frm.innerHTML;var str = "<input type=hidden name='UsePost' id='UsePost' value='true'></input>\n";
innerHTML += str;for(var i = 0 ; i < postBody.length ; i++)
{var paramName = postBody[i].name;var paramValue = postBody[i].value;
var str = "<input type=hidden name='"+paramName+"' id='"+paramName+"' value='"+paramValue+"'></input>\n";innerHTML += str;}
frm.innerHTML = innerHTML;EPCM.getSAPTop().postBody = postBody;}
frm.submit();
if(postBody)
{frm.innerHTML = oldHTML;}
}
function navigationToExternalWin(windowFeatures, eventObj)
{
winname = eventObj.dataObject.winname;if (winname == "DefaultExternal" || winname == "") {var curDate = new Date();winname = winname+curDate.getTime();}
winname = encodeURIComponent(winname).replace(/%/g,"");winname = winname.replace(".","");var path = frameworkSupport.serverPath+frameworkSupport.tlnComp + "/html/child.html";window.open(path, winname, windowFeatures);
}
function fillFrmDetails(frm)
{frm.NavigationTarget.value = nodeid;if (relativeFlag == "true")
{frm.RelativeNavBase.value = nodeid;fullTarget += "&RelativeNavBase=" + nodeid;
}
fullTarget = fullTarget.replace(/\?windowId=[^&\n]*&/ , "?");
fullTarget = fullTarget.replace(/(\?windowId=[^&\n]*)|(&?windowId=[^&\n]*)/ , "");

frm.action = fullTarget;if(postBody)
{var innerHTML = frm.innerHTML;var str = "<input type=hidden name='UsePost' id='UsePost' value='true'></input>\n";
innerHTML += str;for(var i = 0 ; i < postBody.length ; i++)
{var paramName = postBody[i].name;var paramValue = postBody[i].value;
var str = "<input type=hidden name='"+paramName+"' id='"+paramName+"' value='"+paramValue+"'></input>\n";innerHTML += str;}
frm.innerHTML = innerHTML;EPCM.getSAPTop().postBody = postBody;}
relativeFlag = "false";}
EPCM.subscribeEvent("urn:com.sapportals:navigation", "Navigate", onNavigate);EPCM.subscribeEvent("urn:com.sapportals:navigation", "RelativeNavigate", onRelativeNavigate);
function onObjBasedNavigate(eventObj)
{var obnForm = document.getElementById("obnNavForm");obnForm.operation.value = "";obnForm.action = frameworkSupport.ObjBasedNavigationURL;obnForm.systemAlias.value = eventObj.dataObject.systemAlias;obnForm.businessObjName.value = eventObj.dataObject.businessObjName;obnForm.objValue.value = eventObj.dataObject.objValue;if (typeof(eventObj.dataObject.operation) != "undefined")
obnForm.operation.value = eventObj.dataObject.operation;obnForm.submit();
}
EPCM.subscribeEvent("urn:com.sapportals:navigation", "ObjBasedNavigate", onObjBasedNavigate);
function favoritesFinished()
{EPCM.raiseEvent("urn:con.sap.portal.navigation" , "newFavoriteItem" , null);}
function AddToPortalFavorites(target , title, mode)
{try
{
var obj = EPCM.getSAPTop().gHistoryFrameworkObj.GetActiveTrackingEntryValue();
if(! target)
{target = obj.getUrl();title = GetUnescapedTitle(obj.title);}
var url = "/irj/servlet/prt/portal/prtroot/com.sap.km.cm.remote?ServiceType=PortalFavorites&";url += ("NavigationTarget=" + escape(target));url += ("&Title=" + encodeURI(title));url += ("&Mode=" + mode);
var favIFrame = document.getElementById("favoritesIframe");if(! favIFrame)
{var favIFrame = document.createElement("IFRAME");favIFrame.style.visibility = "hidden";favIFrame.width=0;favIFrame.height=0;favIFrame.id = "favoritesIframe";if(EPCM.getUAType() == EPCM.MSIE)

favIFrame.attachEvent("onload" , favoritesFinished);else

favIFrame.onload = favoritesFinished;favIFrame.src=url;favIFrame = document.body.appendChild(favIFrame);}
favIFrame.src = url;}
catch(e){}
}
function GetUnescapedTitle(oldTitle)
{var newTitle = oldTitle.replace(/\\\'/g,"'");return newTitle;}