/**
 * @required Schematic
 * @required Schematic.Dom
 * @required Schematic.Event
 * @required Schematic.Extend
**/

var LoadFlash = function() {
	window.addEventListener('DOMContentLoaded', function(){
		if(document.getById('babyGuides')) {
			var landing = new SWFObject('/images/baby_resource_center/landing.swf','landing', '552', '422', '6', '#FFFFFF');
			landing.addParam("wmode", "opaque");
			landing.addParam("allowScriptAccess", "always");
			landing.write('babyGuides');
		}
		
		if(document.getById('chooseBabyArticle')) {
			var art = document.getById('chooseBabyArticle');
			art.form.addEventListener('submit', function(e) {
				e.preventDefault();
				var url = art.options[art.selectedIndex].value;
				location.href = url;
			}, false);
		}
		
		// IE doesn't focus on the document after following a
		// Flash link, so we have to do it manunally.
		document.body.focus();
	}, false);
}();

var ModuleToggle = function(i) {
	var S = Schematic,
		D = Schematic.Dom,
		E = Schematic.Event,
		doc = document,
		moduleClass = 'babyModule',
		collapseClass = 'collapsed',
		collapseBtnClass = 'collapse',
		expandBtnClass = 'expand',
		toggleButton = '<div class="moduleToggle"><a href="#" class="gl '+expandBtnClass+'"><span class="alt" title="Learn More"></span>Learn More</a></div>',
		modules,
		_this;

	window.addEventListener('DOMContentLoaded', function(){ModuleToggle.init()}, false);
	
	return {
		init : function() {
			_this = this;
			this.modules = doc.getByClass(moduleClass);
			this.modules.forEach(function(module) {
				module.addClass(collapseClass);
				if(!module.getByClass('moduleToggle').length) {
					module.addHTML(toggleButton);
				}
				var trigger = module.getByClass(expandBtnClass)[0];
				trigger.module = module;
				trigger.setAttribute('href','#'+trigger.module.id);
				trigger.addEventListener('click', function(e){
					_this.toggle(this);
				}, false);
			});
			if(/#/.test(location.href)) {
				var module = doc.getById(location.href.split('#')[1]);
				if(module.hasClass(collapseClass)) {
					var trigger = module.getByClass(expandBtnClass)[0];
					this.toggle(trigger);
				}
			}
		},
		toggle : function(trigger) {
			this.modules.forEach(function(module) {
				if(module == trigger.module && module.hasClass(collapseClass)) {
					module.removeClass(collapseClass);
					trigger.replaceClass(expandBtnClass, collapseBtnClass);
					trigger.innerHTML = trigger.innerHTML.replace(/Learn More/g, 'Close');
				} else {
					module.addClass(collapseClass);
					var otrigger = module.getByClass(collapseBtnClass)[0];
					if(otrigger) {
						otrigger.replaceClass(collapseBtnClass, expandBtnClass);
						otrigger.innerHTML = otrigger.innerHTML.replace(/Close/g, 'Learn More');
					}
				}
			});
		}
	};
}();
