document.onkeydown = doOnDocumentKeyDown;function cBool(value)
{
var bValue = false;var strType = typeof value;if (strType == 'boolean')
bValue = value;else if (strType == 'number')
bValue = (value != 0) ? true : false;else if (strType = 'string')
bValue = ((value != null) && (value.toLowerCase() == 'true')) ? true : false;return bValue;}
function trySetFocus(oElement)
{
var bSetFocus = false;try
{
oElement.focus();bSetFocus = true;} catch (e) { };return bSetFocus;}
function getCookie(name)
{
if (!name || !name.length)
return;var aMatch = document.cookie.match('(^|;) ?' + name + '=([^;]*)(;|$)');return aMatch ? unescape(aMatch[2]) : null;}
function setCookie(name, value, expires, path, domain, secure)
{
if (!name || !name.length)
return;if (!value)
value = "";var dateExpires = null;var strExpiresType = typeof expires;if ((strExpiresType == "object") && Date.prototype.isPrototypeOf(expires))
dateExpires = expires;else if (strExpiresType == "string")
dateExpires = new Date(Date.parse(expires));else if (strExpiresType == "number")
dateExpires = new Date((new Date()).getTime() + expires);var strCookie = name + "=" + escape(value);if (dateExpires)
strCookie += "; expires=" + dateExpires.toUTCString();if (path)
strCookie += "; path=" + escape(path);if (domain)
strCookie += "; domain=" + escape(domain);if (secure)
strCookie += "; secure=" + secure;document.cookie = strCookie;}
function deleteCookie(name, path, domain)
{
if (!name || !name.length)
return;var dateExpires = new Date();dateExpires.setTime(dateExpires.getTime() - 1);var strCookie = name + "=; expires" + dateExpires.toUTCString();if (path)
strCookie += "; path=" + escape(path);if (domain)
strCookie += "; domain=" + escape(domain);document.cookie = strCookie;}
function appendVersionToUrl(strUrl, strVersion)
{
return ((null == strVersion) || (0 == strVersion.length)) ? strUrl : appendQueryParamToUrl(strUrl, "Version", strVersion);}
function appendQueryStringToUrl(strUrl, strQuery)
{
return appendQueryParamToUrl(strUrl, strQuery);}
function appendQueryParamToUrl(strUrl, strParam, strValue)
{
if ((null == strUrl) || (null == strParam) || (0 == strParam.length))
return strUrl;if (-1 == strParam.indexOf("="))
{
strParam += "=";if (null != strValue)
strParam += strValue;}
return strUrl + ((-1 == strUrl.indexOf("?")) ? "?" : "&") + strParam;}
function getQueryParamFromUrl(strUrl, strParam)
{
var oPosition = new Object();if (!findQueryParamInUrl(strUrl, strParam, oPosition))
return null;return (-1 == oPosition.end) ? strUrl.substr(oPosition.start) : strUrl.substr(oPosition.start, oPosition.end - oPosition.start);}
function removeQueryParamsFromUrl(strUrl)
{
var nIndex = 0;if ((null == strUrl) || (0 == strUrl.length))
return strUrl;if (-1 == (nIndex = strUrl.indexOf("?")))
return strUrl;return strUrl.substring(0, nIndex);}
function removeQueryParamFromUrl(strUrl, strParam)
{
var oPosition = new Object();var strSeparator = null;var strNewUrl = null;var nLength = 0;if (!findQueryParamInUrl(strUrl, strParam, oPosition))
return strUrl;if (0 < oPosition.start)
{
strSeparator = strUrl.charAt(oPosition.start - 1);if ("&" == strSeparator)
oPosition.start--;else if ("?" == strSeparator)
oPosition.end += (-1 == oPosition.end) ? 0 : 1;else
return strUrl;}
strNewUrl = strUrl.substr(0, oPosition.start);if (oPosition.start < oPosition.end)
strNewUrl += strUrl.substr(oPosition.end);nLength = strNewUrl.length;if ((0 < nLength) && ("?" == strUrl.charAt(nLength - 1)))
strNewUrl = strNewUrl.substr(strUrl, nLength - 1);return strNewUrl;}
function findQueryParamInUrl(strUrl, strParam, objPosition)
{
var nStartIndex = -1;var nEndIndex = -1;var strChar = null;if ((null == strUrl) || (0 == strUrl.length) || (null == strParam) || (0 == strParam.length))
return false;if (-1 == strParam.indexOf("="))
strParam += "=";if (-1 == (nStartIndex = strUrl.lastIndexOf(strParam)))
return false;nEndIndex = strUrl.indexOf("&", nStartIndex + strParam.length);if (null != objPosition)
{
objPosition.start = nStartIndex;objPosition.end = nEndIndex;}
return true;}
function formatQueryParams(oParams)
{
var bFirst = true;var strParams = "";for (var strName in oParams)
{
bFirst ? bFirst = false : strParams += "&";strParams += strName + "=" + oParams[strName];}
return strParams;}
function redirectToRoot(redirectHref)
{
return redirectToRootFrame(redirectHref, null);}
function redirectToRootFrame(redirectHref, frameName)
{
var oTargetWindow = null;var bClose = false;var bStatus = false;if ("dialogArguments" in window)
{
var oArgument = (window.dialogArguments instanceof Array) ? window.dialogArguments[0] : window.dialogArguments;if ("location" in oArgument)
{
oTargetWindow = oArgument.top;bClose = true;}
}
else if (null != window.opener)
{
oTargetWindow = window.opener.top;bClose = true;}
else if (window.top != window)
{
if (!frameName)
oTargetWindow = window.top;else
{
try { oTargetWindow = window.top.frames(frameName);} catch (e) { };if (oTargetWindow == window)
oTargetWindow = null;else
oTargetWindow = window.top;}
}
else
{
if (frameName)
try { oTargetWindow = window.top.frames(frameName);} catch (e) { };}
if (null != oTargetWindow)
{
var bValidTarget = false;try { bValidTarget = oTargetWindow.doOnRedirectToRootFrame ? true : false;} catch (e) { };if (bValidTarget)
{
if (bClose)
window.close();try { bStatus = oTargetWindow.doOnRedirectToRootFrame(redirectHref, frameName);} finally { };}
}
return bStatus;}
function doOnRedirectToRootFrame(redirectHref, frameName)
{
if (!redirectToRootFrame(redirectHref, frameName))
{
if (!frameName)
window.location.href = redirectHref;else
{
var oWindow = null;try { oWindow = window.top.frames(frameName);} catch (e) { };if (!oWindow)
oWindow = window.top;oWindow.location.href = redirectHref;}
}
return true;}
function doOnDocumentKeyDown()
{
if ((("INPUT" != event.srcElement.tagName) && ("TEXTAREA" != event.srcElement.tagName)) && ((8 == event.keyCode) || (37 == event.keyCode)))
{
event.cancelBubble = true;event.returnValue = false;}
}
