283 lines
8.6 KiB
Plaintext

3,4c3
<
< var isIE5 = (navigator.userAgent.indexOf("MSIE 5.5") > 0) ? 1 : 0;
---
> var isIE = (navigator.userAgent.indexOf("MSIE") > 0) ? 1 : 0;
5a5,6
> var isNS4 = ((navigator.appName.indexOf("Netscape")==0)
> &&(navigator.userAgent.indexOf("Mozilla/4") == 0)) ? 1 : 0;
7,14d7
< // For IE, adjust menu bar styling.
<
< if (isIE5) {
< document.styleSheets[document.styleSheets.length - 1].addRule("#menuBar", "padding-top:3px");
< document.styleSheets[document.styleSheets.length - 1].addRule("#menuBar", "padding-bottom:3px");
< }
<
< // Global variable for tracking the currently active button.
16c9,10
< var activeButton = null;
---
> //if (isNS4==0)
> // alert("This skin has been designed for Netscape 4.x.");
18,21d11
< if (isIE5)
< document.onmousedown = pageMousedown;
< if (isNS6)
< document.addEventListener("mousedown", pageMousedown, true);
23c13
< function pageMousedown(event) {
---
> function getPageOffsetLeft(el) {
25c15
< var className;
---
> // Return the true x coordinate of an element relative to the page.
27,28c17,18
< // If the object clicked on was not a menu button or item, close any active
< // menu.
---
> return el.offsetLeft + (el.offsetParent ? getPageOffsetLeft(el.offsetParent) : 0);
> }
30,34c20
< if (isIE5)
< className = window.event.srcElement.className;
< if (isNS6)
< className = (event.target.className ?
< event.target.className : event.target.parentNode.className);
---
> function getPageOffsetTop(el) {
36,39c22
< //Top menu mouseover
< if (className != "menuButton" && className != "menuItem" && className != "menuItemDiff" && activeButton)
< resetButton(activeButton);
<
---
> // Return the true y coordinate of an element relative to the page.
41,51c24
< //Left menu show hide
< var eSrc = window.event.srcElement;
< window.event.cancelBubble = true;
< if ("clsShowHide" == eSrc.className) return contentsHeading_click(eSrc);
<
< //Original version of this (with frames support)
< //while ("BODY" != eSrc.tagName) {
< // if ("clsItem" == eSrc.className || "clsItemSelect" == eSrc.className) return contentsItem_click(eSrc);
< // else if ("clsShowHide" == eSrc.className || "clsHeading" == eSrc.className) return contentsHeading_click(eSrc);
< // eSrc = eSrc.parentElement;
< //}
---
> return el.offsetTop + (el.offsetParent ? getPageOffsetTop(el.offsetParent) : 0);
56,61d28
< // Blur focus from the link to remove that annoying outline.
<
< button.blur();
<
< // Associate the named menu to this button if not already done.
<
62a30,33
> {
> if (isNS4)
> button.menu = document.layers[menuName];
> else
64,69c35,36
<
< // Reset the currently active button, if any.
<
< if (activeButton && activeButton != button)
< resetButton(activeButton);
<
---
> }
>
71,72c38
<
< if (button.isDepressed)
---
> if (button.menu.isDepressed)
80,98d45
< function buttonMouseover(button, menuName) {
<
< // If any other button menu is active, deactivate it and activate this one.
< // Note: if this button has no menu, leave the active menu alone.
<
< if (activeButton) {
< if (activeButton != button) {
< resetButton(activeButton);
< if (menuName)
< buttonClick(button, menuName);
< }
< else {
< }
< }
< else {
< if (menuName)
< buttonClick(button, menuName);
< }
< }
102,138c49,57
< // Save current style values so they can be restored later.
< // Only needs to be done once.
<
< if (!button.oldBackgroundColor) {
< button.oldBackgroundColor = button.style.backgroundColor;
< button.oldBorderBottomColor = button.style.borderBottomColor;
< button.oldBorderRightColor = button.style.borderRightColor;
< button.oldBorderTopColor = button.style.borderTopColor;
< button.oldBorderLeftColor = button.style.borderLeftColor;
< button.oldColor = button.style.color;
< button.oldLeft = button.style.left;
< button.oldPosition = button.style.position;
< button.oldTop = button.style.top;
< }
<
< // Change style value to make the button looks like it's
< // depressed.
<
< button.style.backgroundColor = "#99CC99";
< button.style.borderBottomColor = "#99CC99";
< button.style.borderRightColor = "#99CC99";
< button.style.borderTopColor = "#99CC99";
< button.style.borderLeftColor = "#99CC99";
< button.style.color = "#E9E9E9";
< button.style.left = "0px";
< button.style.position = "relative";
< button.style.top = "0px";
<
< // For IE, force first menu item to the width of the parent menu,
< // this causes mouseovers work for all items even when cursor is
< // not over the link text.
<
< if (isIE5 && !button.menu.firstChild.style.width)
< button.menu.firstChild.style.width =
< button.menu.offsetWidth + "px";
<
< // Position the associated drop down menu under the button and
---
> if (isNS4)
> {
> button.menu.left = (window.innerWidth-100);
> button.menu.top = 0;
> button.menu.visibility = "show";
> }
> else
> {
> // Position the associated drop down menu under the button and
144,145c63,66
< if (isIE5)
< y += 2;
---
> if (isIE) {
> x -= 15;
> y += 2;
> }
152,153c73,74
< button.menu.style.visibility = "visible";
<
---
> button.menu.style.display = "block";
> }
157,158c78
< button.isDepressed = true;
< activeButton = button;
---
> button.menu.isDepressed = true;
163,176d82
< // Restore the button's style settings.
<
< button.style.backgroundColor = button.oldBackgroundColor;
< button.style.borderBottomColor = button.oldBorderBottomColor;
< button.style.borderRightColor = button.oldBorderRightColor;
< button.style.borderTopColor = button.oldBorderTopColor;
< button.style.borderLeftColor = button.oldBorderLeftColor;
< button.style.color = button.oldColor;
< button.style.left = button.oldLeft;
< button.style.position = button.oldPosition;
< button.style.top = button.oldTop;
<
< // Hide the button's menu.
<
178,179c84,90
< button.menu.style.visibility = "hidden";
<
---
> {
> if (isNS4)
> button.menu.visibility = "hide";
> else
> button.menu.style.display = "none";
> }
>
181,197c92
<
< button.isDepressed = false;
< activeButton = null;
< }
<
< function getPageOffsetLeft(el) {
<
< // Return the true x coordinate of an element relative to the page.
<
< return el.offsetLeft + (el.offsetParent ? getPageOffsetLeft(el.offsetParent) : 0);
< }
<
< function getPageOffsetTop(el) {
<
< // Return the true y coordinate of an element relative to the page.
<
< return el.offsetTop + (el.offsetParent ? getPageOffsetTop(el.offsetParent) : 0);
---
> button.menu.isDepressed = false;
201,251d95
< // Swap background colour
< function bgcolour(obj, Colour) {
< obj.style.backgroundColor=Colour
< }
<
< //Pop up window
< function MM_openBrWindow(theURL,winName,features) { //v2.0
< window.open(theURL,winName,features);
< }
<
< function MM_findObj(n, d) { //v3.0
< var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
< d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
< if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
< for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x;
< }
< /* Functions that swaps %PUBURLPATH%/skins/tiger. */
< function MM_swapImage() { //v3.0
< var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
< if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
< }
<
< //Left menu folders
< var eSelected = null;
< function contentsHeading_click(eSrc) {
< if ("clsShowHide" == eSrc.className) eSrc = document.all[eSrc.sourceIndex + 1];
< var iNumElements = document.all.length;
< for (var i=eSrc.sourceIndex+1;i<iNumElements;i++) {
< var eTemp = document.all[i];
< if ("clsHeading" == eTemp.className) return;
< else if ("clsItemsHide" == eTemp.className) {
< eTemp.className = "clsItemsShow";
< //No image url in .js - not subject to wiki vars
< //eSrc.style.listStyleImage = "url('images/blueminus.gif')";
< return eSrc.blur();
< }
< else if("clsItemsShow" == eTemp.className) {
< eTemp.className = "clsItemsHide";
< //No image url in .js - not subject to wiki vars
< //eSrc.style.listStyleImage = "url('images/blueplus.gif')";
< return eSrc.blur();
< }
< }
< }
< function contentsItem_click(eSrc) {
< if (document.all["styleView"]) eSrc.target = document.all["styleView"].checked ? "_blank" : "TEXT";
< else if ("" == eSrc.target) eSrc.target = "TEXT"
< if(null != eSelected) eSelected.className = "clsItem";
< eSrc.className = "clsItemSelect";
< eSelected = eSrc;
< }