/**
 * @author podolski
 */
SubNavigation = Class.create({
	
	initialize: function(name)
	{
		this.isDebug = false;
		this.delegates	= [];
		this.className = name;
	},
	
	startObservers: function(event)
	{
		this.isDebug ? console.log(this+".startObservers("+event+")") : false;
		var _this = this;
		
		$$(".sub_navigation").each(function(elem){
			_this.hideElement(elem);
		});
		
		this.delegates['onNavigationFaceOver'] = function(event){
			event.data = [];
			event.data[0] = $("navigation_face");
			_this.onNavigationOver(event);
		}
		
		this.delegates['onNavigationContactOver'] = function(event){
			event.data = [];
			event.data[0] = $("navigation_contact");
			_this.onNavigationOver(event);
		}
		
		
		this.delegates['onNavigationPublicityOver'] = function(event){
			event.data = [];
			event.data[0] = $("navigation_publicity");
			_this.onNavigationOver(event);

		}

		this.delegates['onNavigationFaceOut'] = function(event){
			event.data = [];
			event.data[0] = $("navigation_face");
			_this.onNavigationOut(event);
		}
		
		this.delegates['onNavigationContactOut'] = function(event){
			event.data = [];
			event.data[0] = $("navigation_contact");
			_this.onNavigationOut(event);
		}
		
		this.delegates['onNavigationPublicityOut'] = function(event){
			event.data = [];
			event.data[0] = $("navigation_publicity");
			_this.onNavigationOut(event);
		}
		
		$("navigation_face").observe("mouseover",this.delegates['onNavigationFaceOver'])
		$("navigation_contact").observe("mouseover",this.delegates['onNavigationContactOver'])
		$("navigation_publicity").observe("mouseover",this.delegates['onNavigationPublicityOver'])
		$("navigation_face").observe("mouseout",this.delegates['onNavigationFaceOut'])
		$("navigation_contact").observe("mouseout",this.delegates['onNavigationContactOut'])
		$("navigation_publicity").observe("mouseout",this.delegates['onNavigationPublicityOut'])
	},
	
	onNavigationOver: function(event)
	{
		event.data[0].select(".sub_navigation").each(function(elem){
			elem.show();
		})
	},
	
	onNavigationOut: function(event)
	{
		event.data[0].select(".sub_navigation").each(function(elem){
			elem.hide();
		})
	},
	
	hideElement: function(elem)
	{
		elem.hide();
	},
	
	toString: function()
	{
		return "["+this.className+"]";
	}
});

var subNavigation = new SubNavigation( "SubNavigation" );
Event.observe(window,"load", subNavigation.startObservers.bind(subNavigation));
