motorola.pages.Experience = new Class({
	tabs: null,
	pages: null,
	currentPage: 1,
	domready: function() {
	
		motorola.utils.PngFix.fixClass('png');
	
		var expandLinks = $$('.expand-description');
		var contractLinks = $$('.contract-description');
		var expandedSection = $$('.expanded-description');
		var fxoptions = motorola.fxoptions;

		expandedSection.get('tween',fxoptions);
		expandedSection.each(function(section,i) {
			motorola.utils.setupSlider(section,expandLinks[i],contractLinks[i],true);
		});

		var tabs = this.tabs = $$('#tabs li');
		var pages = this.pages =  $$('.page');
		pages.setStyle('opacity','0').get('tween',motorola.fxoptions);
		$('page_' + this.currentPage).setStyle('opacity','1');
		
		
		if( tabs ) {
			tabs.each( function(el, i) {
				el.addEvent('mouseenter', function() {
					this.addClass('over');
				}).addEvent('mouseleave', function() {
					this.removeClass('over');
				}).addEvent('click', function(e) {
					var evt = new Event(e);
					evt.stop();
					exp.clearAll();	
					exp.displayPage(i+1);
					this.addClass('active');
				});
			});
		}
	},

	load: function() { },
	
	clearAll: function() {
		this.tabs.removeClass('active');
	},
	
	displayPage: function(page) {
		if(this.currentPage == page) {
			return;
		}
		var curPage = $('page_' + this.currentPage);
		var disPage = $('page_' + page);
		var curTween = curPage.get('tween')
			.removeEvents('onComplete')
			.removeEvents('onStart')
			.addEvent('onComplete',curPage.setStyle.pass(['display','none'],curPage))
			.addEvent('onComplete',disPage.fade.pass(['in'],disPage));
		var disTween = disPage.get('tween')
			.removeEvents('onComplete')
			.removeEvents('onStart')
			.addEvent('onStart',disPage.setStyle.pass(['display','block'],disPage));
		if (Browser.Engine.trident4) {
			curPage.setStyles({'display':'none','opacity':'0'});
			disPage.setStyles({'display':'block','opacity':'1'});
		} else {
			curPage.fade('out');
		}
		this.currentPage = page;
	},

	showSlider: function(e, slider) {
		motorola.utils.stopEvent(e);
		slider.slideIn();
	},

	hideSlider: function(e, slider) {
		motorola.utils.stopEvent(e);
		slider.slideOut();
	}
});

var exp = new motorola.pages.Experience();

addEvent('domready', exp.domready.bind(exp));
addEvent('load', exp.load.bind(exp));
