function css_browser_selector(u) {
	var ua=u.toLowerCase(),is=function(t){
		return ua.indexOf(t)>-1
	},g='gecko',w='webkit',s='safari',o='opera',m='mobile',h=document.documentElement,b=[(!(/opera|webtv/i.test(ua))&&/msie\s(\d)/.test(ua))?('ie ie'+RegExp.$1):is('firefox/2')?g+' ff2':is('firefox/3.5')?g+' ff3 ff3_5':is('firefox/3.6')?g+' ff3 ff3_6':is('firefox/3')?g+' ff3':is('gecko/')?g:is('opera')?o+(/version\/(\d+)/.test(ua)?' '+o+RegExp.$1:(/opera(\s|\/)(\d+)/.test(ua)?' '+o+RegExp.$2:'')):is('konqueror')?'konqueror':is('blackberry')?m+' blackberry':is('android')?m+' android':is('chrome')?w+' chrome':is('iron')?w+' iron':is('applewebkit/')?w+' '+s+(/version\/(\d+)/.test(ua)?' '+s+RegExp.$1:''):is('mozilla/')?g:'',is('j2me')?m+' j2me':is('iphone')?m+' iphone':is('ipod')?m+' ipod':is('ipad')?m+' ipad':is('mac')?'mac':is('darwin')?'mac':is('webtv')?'webtv':is('win')?'win'+(is('windows nt 6.0')?' vista':''):is('freebsd')?'freebsd':(is('x11')||is('linux'))?'linux':'','js'];
	c = b.join(' ');
	h.className += ' '+c;
	return c;
}
css_browser_selector(navigator.userAgent); 

function toggle_content() 
{
	var selected = window.location.hash;
	if (selected.length > 1) {
		var trigger = $$('a[href='+ selected +']')[0];
		if (trigger) {
			var container = trigger.up('ul');
			var triggers = container.select('a');
			
			triggers.each(function (elm) {
				var id = 'content-' + elm.href.split('#')[1];
				if (elm == trigger) {
					$(id).show();
					elm.addClassName('selected');
				} else {
					$(id).hide();
					elm.removeClassName('selected');
				}
			});
		}
	}
}

document.observe('dom:loaded', function () {

	$$('#menu ul > li > a').invoke('observe', 'mouseover', function (event) {
		this.addClassName('hover');
		
		var previous = this.up('li').previous('li');
		if (previous) {
			previous.down('a').addClassName('selected-next');
		}
		
		var submenu = this.up('li').down('ol');
		if (submenu) {
			submenu.show();
		}
	}).invoke('observe', 'mouseout', function (event) { 	
		var target = event.relatedTarget || event.toElement;
		if (target && target.descendantOf(this.up('li'))) {
			return false;
		}
		
		var previous = this.up('li').previous('li');
		if (previous && !this.hasClassName('selected')) {
			previous.down('a').removeClassName('selected-next');
		}
	
		this.removeClassName('hover');
		var submenu = this.up('li').down('ol');
		if (submenu) {
			submenu.hide();
		}
	});
	
	$$('#menu ol').invoke('observe', 'mouseout', function (event) {
		var target = event.relatedTarget || event.toElement;
		if (target && target.descendantOf(this.up('li'))) {
			return false;
		}
		
		this.up('li').down('a').removeClassName('hover').next('ol').hide();
		
		if (this.up('li').down('a').hasClassName('selected')) {
			return false;
		}
	
		var previous = this.up('li').previous('li');
		if (previous && !this.hasClassName('selected')) {
			previous.down('a').removeClassName('selected-next');
		}
	});
	
	$$('ul.tabs li a').invoke('observe', 'click', function (event) {
		event.stop();
		
		$$('div.tab').invoke('hide');
		$$('ul.tabs li a').invoke('removeClassName', 'selected');
		this.addClassName('selected');
		$(this.rel).show();
	});
		
	toggle_content();
	
	$$('ul.submenu a').invoke('observe', 'click', function (event) {
		event.stop();
		window.location.hash = '#' + this.href.split('#')[1];
		toggle_content();
	});
});
