try { 
		document.execCommand('BackgroundImageCache', false, true); 
	} 
	catch(e) {}



var Menu = Class.create();
Object.extend(
	Menu.prototype, {
		initialize: function(obj, parentMenu, adjustLeftRight) {
			this._obj = obj;
			this._parentMenu = parentMenu;
			this._width = 0;
			
			var items = this._obj.childElements();
				
			this._menuitems = new Array();
			items.each(function(item) {
				this._menuitems.push(new MenuItem(this, item));
			}.bind(this));
			
			this.calcWidth();	

		},
		calcWidth: function() {
			this._menuitems.each(function(menuitem) {
				img = menuitem._obj.down(1);
				
				if (img.width > this._width) {
					this._width = img.width;
				}
			}.bind(this));
		},
		getWidth: function() {
			if (this._width == 0) {
				this.calcWidth();
			}
			return this._width;
		}
	}
);


var MenuItem = Class.create();
Object.extend(
	MenuItem.prototype, {
		initialize: function(menu, obj) {
			this._menu = menu
			this._obj = obj;
			this._eL1 = this.mouseover.bindAsEventListener(this);
			this._eL2 = this.mouseout.bindAsEventListener(this);
			this._subMenu = null;
			
			subMenu = this._obj.down().next();
			
			if (subMenu != null) {
				this._subMenu = new Menu(subMenu, this._menu);
			}
			//console.log(this._obj.down(1));
			Event.observe(this._obj, 'mouseover', this._eL1);
		},
		mouseover: function() {
			Event.observe(this._obj, 'mouseout', this._eL2);
			try {
				window.clearTimeout(this._hideEvent);
			} catch (E) {
			}
			
			
			if (this._subMenu != null) {
				this._subMenu._obj.setOpacity(0);
				this._subMenu._obj.show();
				
				if (this._subMenu._obj.hasClassName('subsubnavi')) {
					var p1 = Position.cumulativeOffset($('wrapper'));
					var p2 = Position.cumulativeOffset(this._obj);					
					if (p2[0] - p1[0] + this._menu.getWidth() + this._subMenu.getWidth() < 996) {
						var w = (1+this._menu.getWidth()) + 'px';
						this._subMenu._obj.setStyle({left: w});				
					} else {
						var w = ( (1+this._menu.getWidth())) + 'px';
						this._subMenu._obj.setStyle({right: w});				
					}
				}
				
				this._subMenu._obj.setOpacity(1);
			}	
			this._obj.addClassName('active');				
			
			
		},
		mouseout: function() {
			
			this._hideEvent = window.setTimeout(function() { this.hideMenu(); }.bind(this), 100);
		},
		hideMenu: function() {
			if (this._subMenu != null) {
				//Effect.Fade(this._subMenu._obj, {duration : 0.2, afterFinish: function() { this._obj.removeClassName('active'); }.bind(this)});
				this._subMenu._obj.hide();
				this._obj.removeClassName('active');
			} else {
 				this._obj.removeClassName('active');				
			}
		}
	}
);


function initMenu() {
	var menu = $('navi');
	new Menu(menu, null, false);

}

Event.observe(window, 'load', initMenu);