function writePermanentCookie(cookieName, cookieValue) { document.cookie = escape(cookieName) + "=" + escape(cookieValue) + "; path=/; expires=Mon, 01-Jan-3000 00:00:00 GMT;"; return true; } function writeSessionCookie(cookieName, cookieValue) { if (testSessionCookie()) { document.cookie = escape(cookieName) + "=" + escape(cookieValue) + "; path=/"; return true; } else return false; } function getCookieValue(cookieName) { var exp = new RegExp (escape(cookieName) + "=([^;]+)"); if (exp.test (document.cookie + ";")) { exp.exec (document.cookie + ";"); return unescape(RegExp.$1); } else return false; } function testSessionCookie() { return true; } function SetFormControlsState(aFormId,aAffectedClass,aState) { updatedForm = document.getElementById(aFormId); for(elementIndex=0;elementIndex < updatedForm.elements.length;elementIndex++) { currentFormElement = updatedForm.elements.item(elementIndex); if (currentFormElement.id != "inheritControl" && currentFormElement.type != "submit") { if (aAffectedClass == "anyClass") { currentFormElement.disabled = aState; } else { if (currentFormElement.className == aAffectedClass) { currentFormElement.disabled = aState; } } } } } function SetFormControlsState(aFormId,aAffectedClass,aProtectedClass,aState) { updatedForm = document.getElementById(aFormId); for(elementIndex=0;elementIndex < updatedForm.elements.length;elementIndex++) { currentFormElement = updatedForm.elements.item(elementIndex); if (currentFormElement.className != aProtectedClass) { if (aAffectedClass == "anyClass") { currentFormElement.disabled = aState; } else { if (currentFormElement.className == aAffectedClass) { currentFormElement.disabled = aState; } } } } } function SetIdVisibility(id,bVisible) { if (bVisible) { document.getElementById(id).style.display = ""; } else { document.getElementById(id).style.display = "none"; } } function resize() { var leftDiv = document.getElementById('leftcolumn'); var scrollBarDiv = document.getElementById('scrollbar'); var topDiv = document.getElementById('outerheader'); var footerDiv = document.getElementById('footer'); var centerDiv = document.getElementById('mainconfigwithleftcolumn'); var mainDiv = document.getElementById('maincontent'); var navbarDiv = document.getElementById('navbarctrl'); if (leftDiv && scrollBarDiv) { var h = footerDiv.offsetTop - topDiv.offsetHeight; if (h > 0) { leftDiv.style.height = h + "px"; scrollBarDiv.style.height = h + "px"; } } // Mostly to fix IE. if (centerDiv) { var h = footerDiv.offsetTop - topDiv.offsetHeight; if (h > 0) { centerDiv.style.height = h + "px"; } centerDiv.style.position = "absolute"; centerDiv.style.overflow = "auto"; centerDiv.style.left = leftDiv.offsetWidth + "px"; var w = document.body.clientWidth - leftDiv.offsetWidth; if (w > 0) { centerDiv.style.width = w + "px"; } } } function setBackground() { var useBackground = getCookieValue("WebUseBackground"); if (useBackground == 1) { var backgroundURL = getCookieValue("WebBackgroundURL"); if (backgroundURL) { var mainDiv = document.getElementById('maincontent'); var topDiv = document.getElementById('outerheader'); var footerDiv = document.getElementById('footer'); var navbarDiv = document.getElementById('navbarctrl'); if (mainDiv && topDiv && footerDiv && navbarDiv) { var newHeight = footerDiv.offsetTop - topDiv.offsetHeight - navbarDiv.offsetHeight; for (var i = 0; i < mainDiv.childNodes.length; i++) { var child = mainDiv.childNodes[i]; if (child.nodeName == 'TABLE') { child.style.height = newHeight + 'px'; child.style.backgroundImage = 'url(' + backgroundURL + ')'; child.style.backgroundPosition = 'center top'; break; } } } var mainconfigDiv = document.getElementById('mainconfigwithleftcolumn'); if (mainconfigDiv) { mainconfigDiv.style.backgroundImage = 'url(' + backgroundURL + ')'; mainconfigDiv.style.backgroundPosition = 'center'; } } } } var dynBlockRemoveFromCookie = 1; var dynBlockAddToCookie = 2; function updateDynBlockCookie(aTag,aClass,aOperation) { var blockID = aClass; var oldDynBlockState = getCookieValue("dynblockstate"); var newDynBlockState = ''; if (typeof(oldDynBlockState) != 'string') { oldDynBlockState = ''; } var newArray = new Array; switch(aOperation) { case dynBlockRemoveFromCookie: { newArray = oldDynBlockState.split(' ').without(blockID); newDynBlockState = newArray.join(" "); } break; case dynBlockAddToCookie: { newArray = oldDynBlockState.split(' ').without(blockID); if (newArray.length == 1 && newArray[0] == "") { newArray[0] = blockID; } else { newArray[newArray.length] = blockID; } newDynBlockState = newArray.join(" "); } break; } writePermanentCookie("dynblockstate",newDynBlockState); } function toggleDynamicBlock(aSpanObject,aTag,aClass) { var selectorString = aTag + ".hidable." + aClass; var togglingOn = aSpanObject.hasClassName('closed'); aSpanObject.toggleClassName('closed'); $$(selectorString).invoke('toggleClassName','closed'); /* We remember in the cookie which sections are opened. All the others are implicitly closed. */ if (togglingOn) { updateDynBlockCookie(aTag,aClass,dynBlockAddToCookie); } else { updateDynBlockCookie(aTag,aClass,dynBlockRemoveFromCookie); } } function applyDynBlockCookie() { var dynBlockHeaderList = $$('span.spanDynBlockHeader'); var dynBlockState = getCookieValue('dynblockstate'); var cookieStateArray; if (dynBlockState) { cookieStateArray = dynBlockState.split(' '); var classNameIsInCookieStateArray = function (aPageDynBlockClassName) { return cookieStateArray.include(aPageDynBlockClassName); } var openedBlocksFinder = function(aDynBlockHeader) { return aDynBlockHeader.classNames().any(classNameIsInCookieStateArray); } var openedBlocks = dynBlockHeaderList.findAll(openedBlocksFinder); if (openedBlocks) { openedBlocks.invoke('onclick'); } } } window.onresize = resize; addLoadEvent(resize); addLoadEvent(setBackground); addLoadEvent(applyDynBlockCookie); try { document.execCommand("BackgroundImageCache",false,true); } catch(e) {}