Event.observe(window, 'load', function() {
	// do some CSS magic for no javascript version
	Element.addClassName('main', 'hasjs');

	// some DOM stuff
	var triggers = $$('#main .swapnav');
	var contents = $$('#main .swapcontent');

	// all the important stuff
	if (triggers.length>0 && contents.length>0) {
		var pagenav = new PageNav($$('#main .pagenav'), $$('#main #subnav li'), 'swapcontent');
		var swapper = new FadeSwap(triggers, contents, 'click');

		// fix the local nav
		var localnav = $$('#main #localnav ul li a');
		if (localnav.length>0) {
			for (var i=0; i<localnav.length; i++) {
				var section = document.location.toString().match(/(.*)#/);
				section = (section) ? section[1] : document.location.toString();
				if (localnav[i].href.match(section)) localnav[i].href += '#overview';
			}
		}

		// fix the anchor links for Safari
		// and make anchor links fade and swap instead of browser default
		var anchors = new AnchorFix(triggers, contents, swapper);
		
		// find the default
		var id = 0;
		if (document.location.hash) {
			var initial = document.location.hash;
			initial = initial.match(/#(.*)/)[1];
			var doesContentExist = anchors.doesContentExist(initial)
			if (doesContentExist) {
				id = doesContentExist.index;
			}
		}

		// swap to the default
		swapper.swapContent(null, id);
	}
	

	////// popups

	// popup galleries
	//var popupnav = $$('#main .popupnav ul li a');
	var popupnav = $$('.popupnav ul li a');
	if (popupnav.length>0) var gallery = new PopupGallery(popupnav, 'popupnav');

	// popup movies
	//var popupmovienav = $$('#main .watchvideo');
	var popupmovienav = $$('.watchvideo');
	if (popupmovienav.length>0) var movies = new PopupGalleryMovie(popupmovienav);
	
	// if we have have both, close the other on it opening
	if (popupnav.length>0 && movies) {
		for (var i=0; i<popupnav.length; i++) {
			Event.observe(popupnav[i], 'click', function() {
				this.beforeClose();
				this.afterClose();
			}.bind(movies));
		}
	}

	if (popupmovienav.length>0 && gallery) {
		for (var i=0; i<popupmovienav.length; i++) {
			Event.observe(popupmovienav[i], 'click', function() {
				this.beforeClose();
				this.afterClose();
			}.bind(gallery));
		}
	}

}, false);
