var Main = {
    init: function() {
        this.initSearch();
        if (!(Browser.Engine.trident && (Browser.Engine.version < 5))) {
			this.initMainMenu();
		}
        this.initLangMenu();
    },
    start: function() {
        new SmoothScroll();
    },
    initSearch: function() {
        var searchToggle = $('search');
		var searchForm = $('websitesearch');
        searchToggle.getChildren('a').setProperty('href', 'javascript:$("searchinput").focus();');
        var searchInput = $('searchinput');
        var searchFormWidth = searchForm.getScrollSize().x;
        searchInput.fade('hide');
		if (Browser.Engine.trident && (Browser.Engine.version < 5)) {
			searchInput.setStyle('display', 'none');
		}
        searchToggle.setStyles({
            'overflow': 'hidden'
        });
        var searchToggleWidth = searchToggle.getScrollSize().x;
        var searchLayerFx = new Fx.Tween(searchForm, { 
            link: 'cancel',
            duration: 'long'
        });
		searchForm.setStyle('width', 0);
        searchToggle.addEvent('mouseenter', function(e) {
            searchLayerFx.start('width', searchFormWidth).chain(function() {
					if (Browser.Engine.trident && (Browser.Engine.version < 5)) {
						searchInput.setStyle('display', 'block');
					}
					searchInput.fade('in');
            });
        });
		if (!document.activeElement) {
			searchInput.addEvent('focus', function(e) {
				document.activeElement = searchInput;
			});
			searchInput.addEvent('blur', function(e) {
				document.activeElement = nil;
			});
		}
		searchInput.addEvent('blur', function(e) {
            searchInput.fade('out');
			if (Browser.Engine.trident && (Browser.Engine.version < 5)) {
				searchInput.setStyle('display', 'none');
			}
            searchLayerFx.start('width', 0);
		});
        searchToggle.addEvent('mouseleave', function(e) {
			if (searchInput != document.activeElement) {
	            searchInput.fade('out');
				if (Browser.Engine.trident && (Browser.Engine.version < 5)) {
					searchInput.setStyle('display', 'none');
				}
	            searchLayerFx.start('width', 0);
			}
        });
    },
    initMainMenu: function() {
    	var mainNav = $('main_nav');
    	var subMenus = $$('ul#main_nav ul.level1');
    	var subMenuFx = new Fx.Elements(subMenus, {
    		duration: 'normal', 
            	link: 'cancel', 
            	transition: Fx.Transitions.Quad.easeInOut
        });
    	mainNav.addEvent('mouseenter', function(e) {
    		if (this.hideMenuId) {
				clearTimeout(this.hideMenuId);
				this.hideMenuId = 0;
			}
			var obj = {};
    		subMenus.each(function(subMenu, i) {
    			if (!subMenu.getParent().hasClass('active')) {
					obj[i] = {
    					'height': 110,
    					'top' : -142
    				};
    			}
    		});
    		subMenuFx.start(obj);
    	});
        mainNav.addEvent('mouseleave', function(e) {
            var obj = {};
           	subMenus.each(function(subMenu, i) {
                if (!subMenu.getParent().hasClass('active')) {
                	obj[i] = {
                        	'height': 0,
                        	'top' : -32
                    };
                }
        	});
            var hideMenu = function() {
				subMenuFx.start(obj);
				this.hideMenuId = 0;
			}
			this.hideMenuId = hideMenu.delay(2000);
        });
	},
	initLangMenu: function() {
		var langMenu = $('lang_menu');
		langMenu.fade('hide');
		langMenu.addEvent('mouseleave', function(e) {
			langMenu.fade('out');
		});
	},
	showLangMenu: function() {
		var langMenu = $('lang_menu');
		langMenu.fade('toggle');
	}
};
window.addEvent('domready', Main.init.bind(Main));
window.addEvent('load', Main.start);

