// JavaScript Document
/*
Purpose: custom javascript routines for JSA Promos website
Written by: Richard Manning
Date: August 1, 2008
Dependencies: mootools v1.2, slideshow2r87 by Aeron Glemann
-----------------------------------------------------------*/

window.addEvent('load', function() {
	
var myMenuOptions = {
		mgnLarge: 0,
		mgnSmall: 7,
		mgnNorm: 12
	};
	
	var myMenuOpener = new MenuOpener(myMenuOptions);
	
	var pics = ['slideshow_pic0.jpg', 'slideshow_pic1.jpg', 'slideshow_pic2.jpg', 'slideshow_pic3.jpg'];
	var myOptions = {controller: true, hu:'images/big/', delay: 6000, duration: 1500, transition: Fx.Transitions.Quad.easeInOut};
	var myShow = new Slideshow('the-show', pics, myOptions);
	
	var killed = false;
	
	var thePage, currPage = 'home', o = {};
	
	var navItems = $$('#header a');
	var navLinks = $$('#side-nav a');
	
	var myFx = new Fx.Elements(navItems);
	var fx = new Fx.Morph('the-show', {duration: 1000});
	var mySlider = new Fx.Slide('side-nav', {wrapper: 'nav-wrapper', mode: 'horizontal', duration: 750});
	
	var slamPage = function(pageUrl) {
		emptyThePage();
		$('the-show').load(pageUrl);
		fireEvent('pageready', 1000);
	};
	
	var emptyThePage = function() {
		if(!killed) {
			myShow.destroy('empty');
			killed = true;
		} else $('the-show').empty();
		$('the-show').erase('class');
	};
	
	var prepContent = function(before, after) {
		if(before == 'catalogsearch' && (after != 'programs' && after != 'specials')) mySlider.slideIn();
		if(before != after) {
			if(after == 'home' || after == 'jsa_solution' || after == 'contact' || after == 'about' || after == 'catalogsearch') {
				if(!mySlider.open) mySlider.slideIn();
				$('the-show').setStyles({'width': 684, 'padding-left': 16});
			} else {
				mySlider.hide();
				$('the-show').setStyles({'width': 960, 'padding-left': 0});
			}
			emptyThePage();
			if(after != 'home') {
				myRequest.post({'data': after});
			} else {
				myShow = new Slideshow('the-show', pics, myOptions);
				killed = false;
			}
		}
	};

	var myRequest = new Request.HTML({
		url:'getpage.php',
		onComplete: function(responseTree, responseElements, responseHTML, responseJavaScript) {
			if(!Browser.Engine.trident5) {
				fx.set({'opacity': 0});
				$('the-show').set('html', responseHTML);
				fx.start({'opacity': [0, 1]});
			} else $('the-show').set('html', responseHTML);
			window.fireEvent('divready');
			if (thePage == 'programs' || thePage == 'catalog' || thePage == 'product_search') {
				$('ajax-container').setStyle('background', '#FFF');
			}
		},
		onFailure: function() {
			$('the-show').addClass('failure');
			$('the-show').set('html', '<p>We\'re sorry, but the information you requested could not be retrieved.  The server may be busy or temporarily unavailable.  Please try again later.</p>');
		}
	});
	
	var setNavStyles = function(p) {
		navItems.each(function(navItem, i) {
			if(p == navItem.title) {
				o[i] = {'color': '#FFF', 'font-weight': 'bold'}
			} else {
				o[i] = {'color': '#7B91BC', 'font-weight': 'normal'}
			}
		});
	};
	
	navLinks.each(function(navLink, i) {
		navLink.addEvent('click', function(event) {
			if(this.title != 'specials') {
				event.stop();
				thePage = this.title;
				setNavStyles(thePage);
				myFx.set(o);
				prepContent(currPage, thePage);
				currPage = thePage;
			} else {
				mySlider.hide();
				emptyThePage();
			}
		});
		navItems[i].cloneEvents(navLink);
	});
});