
Object.extend(Prototype, {
	OS: {
		Windows:	navigator.appVersion.indexOf("Win") > -1,
		Mac:		navigator.appVersion.indexOf("Mac") > -1,
		Unix:		(navigator.appVersion.indexOf("X11") > -1) || (navigator.appVersion.indexOf("Unix") > -1) || (navigator.appVersion.indexOf("Linux") > -1)
	}

});

//Enable access-keys functions
function accesskeys_addClassNames(event) {
	if (event.keyCode == (Prototype.OS.Mac ? 17 : 18)) {
		Event.stopObserving(document, 'keydown', accesskeys_addClassNames);
		document.getElementsByClassName('accessKey').invoke('addClassName', 'accessKey_active');
		Event.observe(document, 'keyup', accesskeys_removeClassNames);
	}
}

function accesskeys_removeClassNames(event) {
	Event.stopObserving(document, 'keydown', accesskeys_removeClassNames);
	document.getElementsByClassName('accessKey').invoke('removeClassName', 'accessKey_active');
	Event.observe(document, 'keydown', accesskeys_addClassNames);
}

Event.observe(window, 'load', function () {
	Event.observe(document, 'keydown', accesskeys_addClassNames);
});