var g_arrDecimalToHex = new Array("0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F");
function doForward(whereTo)
{
var strVirtualDir = __getVirtualDir();
var strArg = "";
var strSearch = window.location.search;
if (strSearch != null && strSearch.length > 0)
{
strArg = __escapeUnicodeString(strSearch) + "&";
}
else
{
strArg = "?"
}
strArg += "Reload=" + new Date().getTime();
window.location.replace(strVirtualDir + whereTo + strArg);
}
function doRedirect(whereTo)
{
var strVirtualDir = __getVirtualDir();
var dmfUrl = strVirtualDir + whereTo;
window.location.replace(strVirtualDir + "/wdk/redirect.jsp?ReLoad=" +
new Date().getTime() + "&__dmfUrl=" + dmfUrl);
}
function __getVirtualDir()
{
var strVirtualDir = "";
var strPath = window.location.pathname;
var nIndex1 = strPath.indexOf("/");
var nIndex2 = strPath.lastIndexOf("/");
if (nIndex1 < nIndex2)
{
strVirtualDir = strPath.substring(nIndex1, nIndex2);
}
return strVirtualDir;
}
function __escapeUnicodeString(str)
{
var strescaped ="";
for(var idxch=0; idxch<str.length; idxch++)
{
var ch = str.charCodeAt(idxch);
if (ch == '?'.charCodeAt(0) || ch == '='.charCodeAt(0) || ch == '&'.charCodeAt(0))
{
strescaped += str.substring(idxch, idxch+1);
}
else
{
var highbyte = ch & 0xFF00;
var highbit = ch & 0xFF80;
if (highbyte == 0 && highbit == 0)
{
strescaped += escape(str.substring(idxch, idxch+1));
}
else
{
strescaped +="%u";
for(var idxdigit=0; idxdigit < 4; idxdigit++)
{
var decimaldigit = (ch >>> (12 - idxdigit * 4)) & 0x0F ;
strescaped += g_arrDecimalToHex[decimaldigit];
}
}
}
}
return strescaped;
}

