ISHAM.namespace('ISHAM.ui');

ISHAM.ui.Navigation = new Class({
	Implements: [Options, Events],
	options: {
		classes: {
			navigationContainerClass:'six-column'
		},
		ids: {
			footerId:'footer-fixed'
		}
	},
	
	initialize: function(options) {
		this.setOptions(options);
		
		this._findElements();
		this._attachListeners();
	},
	
		//----------------------------------------------------------------------
		// PROPERTIES
		//----------------------------------------------------------------------
		
	footerContainer: [],
	drawer: null,
	
		//----------------------------------------------------------------------
		// PRIVATE METHODS
		//----------------------------------------------------------------------
		
	_attachListeners: function() {
		
		$(this.drawer).addEvent('mouseenter', this.drawerOpen.bind(this), this);
		$(this.drawer).addEvent('mouseleave', this.drawerClose.bind(this), this);
		
	},
		
	_findElements: function() {
		
		this.footerContainer = $(this.options.ids.footerId).getChildren('.' + this.options.classes.navigationContainerClass);
		
		this.drawer = this.footerContainer[0];
		
	},
	
		//----------------------------------------------------------------------
		// EVENT HANDLERS
		//----------------------------------------------------------------------
		
	drawerOpen: function() {
		
		$(this.drawer).set('tween', {duration:250, transition:Fx.Transitions.Quart.easeInOut}).tween('height', 135);

	},
	
	drawerClose: function() {
		
		$(this.drawer).set('tween', {duration:250, transition:Fx.Transitions.Quart.easeInOut}).tween('height', 15);
		
	}
	
});



//Panel Request Navigation

ISHAM.panelRequest = null;

window.addEvent('domready', function(){
	
	ISHAM.panelRequest = new ISHAM.util.xhr.PanelRequest();
	
	$(document.body).addEvent('click', function(e){
	
		var button = ($(e.target).match('a')) ? $(e.target) : $(e.target).getParent('a');
		
		if (button && button.getParent('.xoxo')) {
			return;
		}
		
		if (button && button.getParent('#rollup-nav')) {
			var requestHref = button.get('href');
			e.preventDefault();
			this._requestPanel(requestHref);
		}
		
		if (button && button.getParent('h6')) {
			var requestHref = button.get('href');
			e.preventDefault();
			this._requestPanel(requestHref);
		}
		
		if (button && button.hasClass('post-link')) {
			var requestHref = button.get('href');
			e.preventDefault();
			this._requestPanel(requestHref);
		}
		
		if (button && button.hasClass('post-link-img')) {
			var requestHref = button.get('href');
			e.preventDefault();
			this._requestPanel(requestHref);
		}
		
		if (button && button.getParent('.postmetadata')) {
			var requestHref = button.get('href');
			e.preventDefault();
			this._requestPanel(requestHref);
		}
		
		
	}.bindWithEvent(ISHAM.panelRequest));
	
});