var isNav, isIE
var version = parseInt(navigator.appVersion)
var coll = ""
var styleObj = ""
/*
alert(
	navigator.appName +"\n"+ 
	navigator.appVersion +"\n"+
	parseInt(navigator.appVersion)
)
*/
if (version >= 4) {
	if (navigator.appName == "Netscape") {
		isNav = true
		if (version >= 5) {
			styleObj = ".style"
		}
	} else {
		isIE = true
		coll = "all."
		styleObj = ".style"
	}
}

function getObj(objName, frame) {
	if (frame == null) {
		frame = ""
	} else if (frame != null && frame != "" && frame.indexOf(".") == -1) {
		frame += "."
	}
	if (isNav && version >= 5) {
		return eval(frame + "document.getElementById('" + objName + "')")
	} else {
		return eval(frame + "document." + coll + objName)
	}
}

function getObjStyle(objName, frame) {
	if (frame == null) {
		frame = ""
	} else if (frame != null && frame != "" && frame.indexOf(".") == -1) {
		frame += "."
	}
	var obj
	if (isNav && version >= 5) {
		if (eval(frame + "document.getElementById('" + objName + "')") != null) {
			return eval(frame + "document.getElementById('" + objName + "')" + styleObj)
		}
	} else if ((obj = getObj(objName, frame)) != null) {
		return obj.style
	}
}

function setRadioFocus(obj) {
	if (isNav && version >= 5) {
		obj.focus()
	} else {
		obj[0].focus()
	}
}

function getKey(evt) {
	if (isNav && version <= 4) {
		return evt.which
	} else if (isNav) {
		return String.fromCharCode(evt.which)
	} else {
		return String.fromCharCode(window.event.keyCode)
	}
}

function getKeyCode(evt) {
	if (isNav) {
		return evt.which
	} else {
		return window.event.keyCode
	}
}

function isShiftKey(evt)  {
	if (isNav && version <= 4) {
		return evt.modifiers & Event.SHIFT_MASK
	} else if (isNav) {
		return evt.shiftKey
	} else {
		return window.event.shiftKey
	}
}

function isAltKey(evt)  {
	if (isNav && version <= 4) {
		return evt.modifiers & Event.ALT_MASK
	} else if (isNav) {
		return evt.altKey
	} else {
		return window.event.altKey
	}
}

function isControlKey(evt)  {
	if (isNav && version <= 4) {
		return evt.modifiers & Event.CONTROL_MASK
	} else if (isNav) {
		return evt.ctrlKey
	} else {
		return window.event.ctrlKey
	}
}

function getPageLeft(obj)  {
	if (isNav) {
		return obj.pageX
	} else {
		return obj.offsetLeft
	}
}

function getPageTop(obj)  {
	if (isNav) {
		return obj.pageY
	} else {
		return obj.offsetTop
	}
}

function getObjHeight(obj) {
	if (isNav) {
		return obj.clip.height
	} else {
		return obj.offsetHeight
	}
}

function getObjWidth(obj) {
	if (isNav) {
		return obj.clip.width
	} else {
		return obj.offsetWidth
	}
}

function getObjLeft(obj)  {
	if (isNav) {
		return obj.left
	} else {
		return obj.pixelLeft
	}
}

function getObjTop(obj)  {
	if (isNav) {
		return obj.top
	} else {
		return obj.pixelTop
	}
}

function getInsideWindowWidth() {
	if (isNav) {
		return window.innerWidth
	} else {
		return document.body.clientWidth
	}
}

function getInsideWindowHeight() {
	if (isNav) {
		return window.innerHeight
	} else {
		return document.body.clientHeight
	}
}

function isVisible(obj) {
	return (obj.visibility != "hidden")
}

function show(obj) {
	obj.visibility = "visible"
}

function hide(obj) {
	obj.visibility = "hidden"
}

function shiftTo(obj, x, y) {
	if (isNav) {
		obj.moveTo(x,y)
	} else {
		obj.pixelLeft = x
		obj.pixelTop = y
	}
}

function shiftBy(obj, deltaX, deltaY) {
	if (isNav) {
		obj.moveBy(deltaX, deltaY)
	} else {
		obj.pixelLeft += deltaX
		obj.pixelTop += deltaY
	}
}

function getTarget(evt) {
	if (isNav && version <= 4) {
		var clickX = evt.pageX
		var clickY = evt.pageY
		var testObj
		for (var i = document.layers.length - 1; i >= 0; i--) {
			testObj = document.layers[i]
			if (
				(clickX > testObj.left) && 
				(clickX < testObj.left + testObj.clip.width) && 
				(clickY > testObj.top) && 
				(clickY < testObj.top + testObj.clip.height)
			) {
				return testObj
			}
		}
	} else if (isNav) {
		return evt.target
	} else {
		return window.event.srcElement
	}
}

function setNSEventCapture() {
	if (isNav) {
		document.captureEvents(Event.MOUSEDOWN | Event.MOUSEMOVE | Event.MOUSEUP)
	}
}

var searchText = ""
var range = null
function doFind(obj, findAgain) {
	if (isNav) {
		find()
	} else {
		if (findAgain == null) {
			searchText = prompt("Find what?", searchText)
			range = obj.createTextRange()
		} else {
			if (range == null) return
			range.move("character")
		}
		if (range.findText(searchText)) {
			range.select()
		} else {
			alert("Not found.")
			range = null
		}
	}
}
