window.onerror = null;

function GetCookieAuth(strName) {
  var objCookie = document.cookie;
  var iStart = objCookie.indexOf(strName + "=");
  var iLen   = iStart + strName.length + 1;
  if ((!iStart) && (strName != objCookie.substring(0, strName.length))) { return null; }
  if (iStart == -1) { return null; }
  var iEnd = objCookie.indexOf(";", iLen);
  if (iEnd == -1) { iEnd = objCookie.length; }
  return(unescape(objCookie.substring(iLen, iEnd)));
}

function SetCookieAuth(strName, strValue, strExpires, strPath, strDomain, strSecure) {
  document.cookie = strName + "=" + escape(strValue) +
    ( (strExpires) ? ";expires=" + strExpires.toGMTString() : "") +
    ( (strPath)    ? ";path="    + strPath                  : "") +
    ( (strDomain)  ? ";domain="  + strDomain                : "") +
    ( (strSecure)  ? ";secure"                              : "");
}

var strOldLCCMSUserID = GetCookieAuth('OldLCCMSUserID');
var strLCCMSUserID    = GetCookieAuth('LCCMSUserID');

function SetAuthArray(strMenu, i, iNumSubMenus, bFirstLevel) {
  var bAllowed = true;
  var arrUsers = new Array();

  objMenu = eval(strMenu + i);
  if (objMenu && (objMenu.length > 18) && (objMenu[18].length > 0)) {
    arrUsers = objMenu[18].split(',');
    bAllowed = false;
    for (var j = 0; !bAllowed && (j < arrUsers.length); j++) {
      bAllowed = (strLCCMSUserID == arrUsers[j]);
    }
  }

  if (!bAllowed) {
       objMenu[3] = 0;
  }

  if (objMenu[3] > 0) {
    SetAuthArray(strMenu + i + '_', 1, objMenu[3], false);
  }
  if (i < iNumSubMenus) {
      SetAuthArray(strMenu, i + 1, iNumSubMenus, bFirstLevel);
  }
}

function AuthTimer() {
  strOldLCCMSUserID = GetCookieAuth('OldLCCMSUserID');
  strLCCMSUserID    = GetCookieAuth('LCCMSUserID');
  if (strOldLCCMSUserID != strLCCMSUserID) {
    SetCookieAuth('OldLCCMSUserID', strLCCMSUserID);
    self.location.reload();
  }
  setTimeout('AuthTimer()', 200);
}

AuthTimer();
if(NoOffFirstLineMenus > 0)
{
    SetAuthArray('Menu', 1, NoOffFirstLineMenus, true);
}
