// IE6 Flicker Fix - Cache all images in IE6
try {
	document.execCommand("BackgroundImageCache", false, true);
	}
catch(err) {
	}

/**
 *	Create BlueHaze namepsace
 */
var BlueHaze = {};

/**
 *	EA.DantesInferno
 */
BlueHaze.Resume = {
	init: function()
	{
		// main nav
		new BlueHaze.Resume.Nav($('container').getElement('ul#mainnav'));

		// lightbox
		var lightboxLink = $('container').getElement('.lightbox');
		if (lightboxLink)
		{
			new BlueHaze.Resume.Lightbox(lightboxLink);
		}

		// panel accordion
		new Accordion($$('#mainnav li a'), $$('.panel'));
		
		// portfolio slideshow
		/*
		new SimpleImageSlideShow.Carousel($('carousel'), {
			startIndex: 0,
			imgUrls: ['/assets/images/portfolio_serenity.jpg',
			'/assets/images/portfolio_tryaclick.jpg',
			'/assets/images/portfolio_guilford.jpg'],
			currentIndexContainer: 'imgNow4',
			maxContainer: 'imgMax4',
			nextLink: 'nextImg4',
			prevLink: 'prevImg4'
		});
		*/
	}
};

/**
 *	EA.DantesInferno.Nav
 */
BlueHaze.Resume.Nav = new Class({
	Implements: Options,

	options: {
		onStateClassName: 'on'
	},

	// Constructor
	initialize: function(nav, options)
	{
		this.container = nav;
		this.setOptions(options);
		
		// set up methods
		this.buildNav();
	},

	buildNav: function()
	{
		// add layout hooks
		this.container.getFirst('li').addClass('active');
		var navItemsAll = this.container.getChildren('li');

		navItemsAll.each(function(navItemActive){
			// add onclick events for active nav item
			navItemActive.getElement('a').addEvent('click', function(){
				navItemsAll.each(function(navItem){
					if (navItem.get('class') == 'active') {
						navItem.set('class', '');
					}
					navItemActive.set('class', 'active');
				}.bind(this));
				return false;
			}.bind(this));
		}.bind(this));
	}
});

/**
 *	EA.DantesInferno.Comment (implements Mediabox)
 */
BlueHaze.Resume.Lightbox = new Class({
	// Constructor
	initialize: function(link)
	{
		this.link = link;
		this.contentUrl = this.link.get('href');
		
		this.buildContent();
		this.attachEvents();
	},
	
	buildContent: function()
	{
		this.container = new Element('div', {'id': 'mb_inline'});
		this.container.inject($(document.body)).hide();
		this.container.load(this.contentUrl);
	},
	
	attachEvents: function()
	{
		this.link.addEvent('click', function(event){
			event.stop(); // prevent browser default
			
			Mediabox.open('#mb_inline', '', '640 480');
		});
	}
});

/**
 *	On DOM Ready
 */
window.addEvent('domready', BlueHaze.Resume.init.bind(BlueHaze.Resume));