/* 
 * Hayward Behavior Layer
 *
 * Author	Oskar Krawczyk (o.krawczyk@keepthinking.it)
 * Version	1.0
 * 
 ======================================================================= */

var Hayward = {
	
	/* initialize needed methods
	 ======================================================================= */
	init: function() {
		this.initStyles();
		this.initMultibox();
		this.injectMap();
		this.injectActiveShadow();
		this.injectPageInfoShadow();
		this.injectPageBottomShadow();
		this.initArticleTabs();
		this.newWindow();
		
		this.initSafariFixes();
	},
	
	/* Unobtrusive new window opener
	 =================================================================== */
	newWindow: function() {
		$$('a[rel=window]').each(function(link) {
			link.addEvent('click', function(e) {
				var newWindow = window.open(this.getProperty('href'), '_blank').focus();
				new Event(e).stop();
			});
		});
	},
	
	/* initialize all Safari fixes
	 ======================================================================= */
	initSafariFixes: function() {
		if(window.webkit) $$('h4').setStyles({
			'font-size': '.8em'
		});
	},
	
	/* 
	 ======================================================================= */
	initStyles: function() {
		if($chk($('transcript'))) $('transcript').setStyle('display', 'none');
		
		//if($chk($('nst'))) $('nst').setStyle('margin-left', -(($('nst').getSize().scrollSize.x)/2).round()+'px');
		
		//alert((($('nst').getSize().size.x)/2).round());
		
		if(window.webkit) $$('body #nav-start a em').setStyle('padding', '8px 0 10px 12px')
		
	},	
		
	/* init Lightbox replacement
	 ======================================================================= */
	initMultibox: function() {
		var box = {};
		box = new MultiBox('mb', {
			descClassName: 'multiBoxDesc',
			descHide: false
		});
	},	
	
	/* 
	 ======================================================================= */
	initArticleTabs: function() {
		var catalogueInfomationTab 			= $('catalogue-information-tab');
		var catalogueInfomationContainer 	= $('catalogue-information');
		var transcriptTab 					= $('transcript-tab');
		var transcriptContainer 			= $('transcript');
		
		if($defined($('transcript'))) {
			catalogueInfomationTab.addEvent('click', function(e) {
				transcriptTab.removeClass('active');
				catalogueInfomationTab.addClass('active');
				transcriptContainer.setStyle('display', 'none');
				catalogueInfomationContainer.setStyle('display', 'block');
				new Event(e).stop();
			});
			
			transcriptTab.addEvent('click', function(e) {
				transcriptTab.addClass('active');
				catalogueInfomationTab.removeClass('active');
				transcriptContainer.setStyle('display', 'block');
				catalogueInfomationContainer.setStyle('display', 'none');
				new Event(e).stop();
			});
		}
	},
	
	/* 
	 ======================================================================= */
	injectMap: function() {
		
	},

	/* 
	 ======================================================================= */
	injectActiveShadow: function() {
		var navLevelTop 	= $$('#navigation li ul li.active a')[0];
		var navLevelBottom 	= $$('#navigation #timeline li ul li span.active a')[0];
		var activeNavItem 	= ($defined(navLevelTop) ? navLevelTop : navLevelBottom);
				
		if($defined(activeNavItem)) {
			new Element('span', {'id': 'nav-inj-top-shd'}).injectTop(activeNavItem);
			new Element('span', {'id': 'nav-inj-bottom-shd'}).injectTop(activeNavItem);
		}
	},

	/* 
	 ======================================================================= */
	injectPageInfoShadow: function() {
		new Element('div', {'id': 'page-info-shadow'}).injectTop('page-info');
	},

	/* set over/out behaviors on menu items
	 ======================================================================= */
	injectPageBottomShadow: function() {
		new Element('div', {'id': 'page-bottom-shadow'}).injectInside('wrapper');
	},

	/* 
	 ======================================================================= */
	footerPosition: function() {
		var pageInfo = $('page-info');
		var pageInfoHeight = pageInfo.getStyle('height');
		var windowHeight = window.getScrollTop()+window.getHeight();
		
		//if(windowHeight < window.getScrollHeight()) {
			pageInfo.setStyles({
				position: 'absolute',
				left: 0,
				top: windowHeight,
				marginTop: '-'+pageInfoHeight
			});	
		//}

	}
};

// window.addEvents({
// 	load: function() {
// 		Hayward.footerPosition();
// 	},
// 	scroll: function() {
// 		Hayward.footerPosition();
// 	},
// 	resize: function() {
// 		Hayward.footerPosition();
// 	}
// });

window.addEvent('domready', function() {
	Hayward.init();
});
