-
-
Save mariuz/9787422 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<script language="JavaScript"> | |
// Determine browser. | |
var isMinNS4 = 0; | |
var isMinIE4 = 0; | |
var NS6 = 1; | |
var origWidth; // Vars for NS resizing | |
var origHeight; | |
//----------------------------------------------------------------------------- | |
// Layer Visibility | |
//----------------------------------------------------------------------------- | |
function hideLayer(layer) { | |
if (isMinNS4) | |
layer.visibility = "hide"; | |
if (isMinIE4 || NS6) | |
layer.style.visibility = "hidden"; | |
} | |
function showLayer(layer) { | |
if (isMinNS4) | |
layer.visibility = "show"; | |
if (isMinIE4 || NS6) | |
layer.style.visibility = "visible"; | |
} | |
function isVisible (layer) { | |
if (isMinNS4) { | |
if (layer.visibility == "show") return true; | |
else return false; | |
} | |
if (isMinIE4 || NS6) { | |
if (layer.style.visibility == "visible") return true; | |
else return false; | |
} | |
} | |
//----------------------------------------------------------------------------- | |
// Layer positioning | |
//----------------------------------------------------------------------------- | |
function moveLayerTo(layer, x, y) { | |
if (isMinNS4) | |
layer.moveTo(x, y); | |
if (isMinIE4) { | |
layer.style.left = x; | |
layer.style.top = y; | |
} | |
if (NS6) { | |
layer.style.left = x + "px"; | |
layer.style.top = y + "px"; | |
} | |
} | |
function moveLayerBy(layer, dx, dy) { | |
if (isMinNS4) | |
layer.moveBy(dx, dy); | |
if (isMinIE4) { | |
layer.style.pixelLeft += dx; | |
layer.style.pixelTop += dy; | |
} | |
if (NS6) { | |
var nx = parseInt(layer.style.left) + dx; | |
var ny = parseInt(layer.style.top) + dy; | |
layer.style.left = nx + "px"; | |
layer.style.top = ny + "px"; | |
} | |
} | |
function getLeft(layer) { | |
if (isMinNS4) | |
return layer.left; | |
if (isMinIE4) | |
return layer.style.pixelLeft; | |
if (NS6) | |
return(parseInt(layer.style.left)); | |
return -1; | |
} | |
function getTop(layer) { | |
if (isMinNS4) | |
return layer.top; | |
if (isMinIE4) | |
return layer.style.pixelTop; | |
if (NS6) | |
return(parseInt(layer.style.top)); | |
return -1; | |
} | |
function getWidth(layer) { | |
if (isMinNS4) { | |
if (layer.document.width) | |
return layer.document.width; | |
else | |
return layer.clip.right - layer.clip.left; | |
} | |
if (isMinIE4) { | |
if (layer.style.pixelWidth) | |
return layer.style.pixelWidth; | |
else | |
return layer.clientWidth; | |
} | |
if (NS6) { | |
return layer.offsetWidth; | |
} | |
return -1; | |
} | |
function getHeight(layer) { | |
if (isMinNS4) { | |
if (layer.document.height) | |
return layer.document.height; | |
else | |
return layer.clip.bottom - layer.clip.top; | |
} | |
if (isMinIE4) { | |
if (layer.style.pixelHeight) | |
return layer.style.pixelHeight; | |
else | |
return layer.clientHeight; | |
} | |
if (NS6) { | |
return layer.offsetHeight; | |
} | |
return -1; | |
} | |
//----------------------------------------------------------------------------- | |
// Layer utilities. | |
//----------------------------------------------------------------------------- | |
function getLayer(name) { | |
if (isMinNS4) | |
return findLayer(name, document); | |
if (isMinIE4) | |
return eval('document.all.' + name); | |
if (NS6) | |
return document.getElementById(name); | |
return null; | |
} | |
function findLayer(name, doc) { | |
var i, layer; | |
for (i = 0; i < doc.layers.length; i++) { | |
layer = doc.layers[i]; | |
if (layer.name == name) | |
return layer; | |
if (layer.document.layers.length > 0) | |
if ((layer = findLayer(name, layer.document)) != null) | |
return layer; | |
} | |
return null; | |
} | |
//----------------------------------------------------------------------------- | |
// Window and page properties. | |
//----------------------------------------------------------------------------- | |
function getWindowWidth() { | |
if (isMinNS4 || NS6) | |
return window.innerWidth; | |
if (isMinIE4) | |
return document.body.clientWidth; | |
return -1; | |
} | |
function getWindowHeight() { | |
if (isMinNS4 || NS6) | |
return window.innerHeight; | |
if (isMinIE4) | |
return document.body.clientHeight; | |
return -1; | |
} | |
function getPageScrollX() { | |
if (isMinNS4 || NS6) | |
return window.pageXOffset; | |
if (isMinIE4) | |
return document.body.scrollLeft; | |
return -1; | |
} | |
function getPageScrollY() { | |
if (isMinNS4 || NS6) | |
return window.pageYOffset; | |
if (isMinIE4) | |
return document.body.scrollTop; | |
return -1; | |
} | |
//----------------------------------------------------------------------------- | |
// Event Handling | |
//----------------------------------------------------------------------------- | |
// These variables will hold the current mouse pointer position. | |
var mouseX = 0; | |
var mouseY = 0; | |
// Set up event capturing. | |
if (isMinNS4) { | |
document.captureEvents(Event.MOUSEMOVE); | |
document.captureEvents(Event.CLICK); | |
} | |
if (NS6) { | |
window.onmousemove = getMousePosition; | |
window.onclick = onMouseClick; | |
} else { | |
document.onmousemove = getMousePosition; | |
document.onclick = onMouseClick; | |
} | |
function getMousePosition(e) { | |
// Save cursor position using browser-specific code. | |
if (isMinNS4) { | |
mouseX = e.pageX; | |
mouseY = e.pageY; | |
} | |
if (isMinIE4) { | |
mouseX = event.clientX + document.body.scrollLeft; | |
mouseY = event.clientY + document.body.scrollTop; | |
} | |
if (NS6) { | |
mouseX = e.clientX; | |
mouseY = e.clientY; | |
} | |
return true; | |
} | |
function onMouseClick(e) { | |
// When you click the mouse, make the ants scatter away | |
gRule1Scale = -10; | |
return true; | |
} | |
// Handle the NS4 resizing bug | |
if (isMinNS4) { | |
window.captureEvents(Event.RESIZE); | |
window.onresize = handleResize; | |
} | |
function handleResize() { | |
// First check if the window size has changed. If it hasn't we | |
// want to leave it alone. | |
if (innerWidth==origWidth && innerHeight==origHeight) return false; | |
// If the size has changed, want to reload so things get laid out in | |
// a nice manner. | |
location.reload(); | |
return false; | |
} | |
</script> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment