/**************************************************** *** *** *** ChangeLog Functions *** *** *** ****************************************************/ function HideChangeLog() { document.getElementById('ChangeLogBox').style.display = 'none'; return false; } function ShowChangeLog(ElementObj, ProgramName) { document.getElementById('ChangeLogIFrame').src = '/programs-changelog.php?name=' + ProgramName; PinElementWithOffset(document.getElementById('ChangeLogBox'), ElementObj, -200, -200); document.getElementById('ChangeLogBox').style.display = ''; return false; } /**************************************************** *** *** *** Menu Functions *** *** *** ****************************************************/ var CategoryTopMenuTimeoutID, ArchivesTopMenuTimeoutID; function HideAllMenus() { UnlockAndHide("Category"); UnlockAndHide("Archives"); } function ShowTopMenu(ElementType, PinToObj) { HideAllMenus(); LockTopMenu(ElementType); document.getElementById(ElementType + "Menu").className = 'PopupBorder'; PinElementWithOffset(document.getElementById(ElementType + "PopupDiv"), document.getElementById(ElementType + "Menu"), -1, -20); document.getElementById(ElementType + "PopupDiv").style.display = ''; } function HideTopMenu(ElementType) { if (!(TopMenuIsLocked(ElementType))) { document.getElementById(ElementType + "Menu").className = 'PopupNoBorder'; document.getElementById(ElementType + "PopupDiv").style.display = 'none'; } } function LockTopMenu(ElementType) { document.getElementById(ElementType + "Menu").style.lock = "1"; } function UnlockTopMenu(ElementType) { document.getElementById(ElementType + "Menu").style.lock = "0"; } function TopMenuIsLocked(ElementType) { return (document.getElementById(ElementType + "Menu").style.lock == "1"); } function UnlockAndHide(ElementType) { UnlockTopMenu(ElementType); HideTopMenu(ElementType); } /**************************************************** *** *** *** Pinning Functions *** *** *** ****************************************************/ function PinElement(ElementToPin, PinToObj) { ElementToPin.style.left=calculateOffsetLeft(PinToObj)+"px"; ElementToPin.style.top=calculateOffsetTop(PinToObj)+PinToObj.offsetHeight-1+"px"; //if ((calculateOffsetLeft(PinToObj) < 335) && (calculateOffsetLeft(PinToObj) > 180)) { alert(ElementToPin.style.left); } // ElementToPin.style.width=calculateWidth(PinToObj)+"px"; } function PinElementWithOffset(ElementToPin, PinToObj, OffsetTop, OffsetLeft) { var tempNumber; tempNumber = calculateOffsetLeft(PinToObj) + OffsetLeft; if (tempNumber < 0) { tempNumber = 0; } ElementToPin.style.left=tempNumber+"px"; tempNumber = calculateOffsetTop(PinToObj)+PinToObj.offsetHeight-1 + OffsetTop; if (tempNumber < 0) { tempNumber = 0; } ElementToPin.style.top=tempNumber+"px"; //if ((calculateOffsetLeft(PinToObj) < 335) && (calculateOffsetLeft(PinToObj) > 180)) { alert(ElementToPin.style.left); } // ElementToPin.style.width=calculateWidth(PinToObj)+"px"; } function calculateWidth(PinToObj){ if(navigator&&navigator.userAgent.toLowerCase().indexOf("msie")==-1){ return PinToObj.offsetWidth-1*2; } else { return PinToObj.offsetWidth; } } function calculateOffsetLeft(PinToObj){ return Ya(PinToObj,"offsetLeft"); } function calculateOffsetTop(PinToObj){ return Ya(PinToObj,"offsetTop"); } function Ya(PinToObj,attr){ var kb=0; while(PinToObj){ kb+=PinToObj[attr]; PinToObj=PinToObj.offsetParent; } return kb; }