if(typeof MooTools != "undefined"){

var CMSG = new Class({
	initialize: function(){
		var self = this;
		document.write('<style type="text/css"> '
			+ '.tabs-panel, #people li.closed div.bio, #more-information li.closed div.accordion '
			+ '{ display: none; } '
			+ ' #more-information ul { height: 322px; }'
		+ '</style>');
		
		window.addEvent('domready', function(){
			/* clear selected links upon going back */
			$$('a').each(function(a){ a.blur(); });
			
			/* more information panel */
			$$('#more-information').each(function(panel){
				var accordion = self.accordion(
					panel.getElements('div.panel-frame li div.toggle a'), 
					panel.getElements('div.panel-frame div.accordion')
				);
			});
			
			/* local navigation panel */
			$$('#localnav').each(function(panel){
				var toggles = panel.getElements('.pc2 > ul > li > a').filter(function(a){
					return (a.get('href') == "#");
				});
				var elements = toggles.map(function(a){
					return a.getParent('li').getElement('div.submenu');
				});
				var accordion = self.accordion(
					toggles, elements
				).addEvent('active', function(t,el){
					if(el.getChildren('ul').length==0){ el.setStyle('display','none'); }
				});
			});
		});
		window.addEvent('load', function(){
			/* people dropdown */
			$$('div#people').each(function(panel){
				panel.getElement('li').addClass('first');
				var toggles = panel.getElements('li > a');
				var elements = panel.getElements('li div.bio');
				toggles.each(function(a,i){
					if(a.get('tag')=="a" && a.get('href') == "#"){ a.set('href','javascript\u003a\u003b'); }
					if(i==0){ a.getParent('li').set('class','first open'); }
					else { a.getParent('li').addClass('closed'); }
				});
				toggles.getLast().getParent('li').addClass('last');
				
				var accordion = new Accordion(toggles,elements, {
					show: 0, 
					opacity: false, 
					duration: 'short', 
					fps: 25, 
					onActive: function(t,el){
						t.getParent().removeClass('closed').addClass('opening');
					}, 
					onBackground: function(t,el){
						t.getParent().removeClass('open').addClass('closing');
					}, 
					onComplete: function(){
						$A(this.elements).each(function(el){
							if(el.getParent().hasClass('closing')){
								el.getParent().removeClass('closing').addClass('closed');
							} else if(el.getParent().hasClass('opening')){
								el.getParent().removeClass('opening').addClass('open');
							}
						});
					}
				});
				panel.setStyle('height',(panel.getSize().y+30)+'px');
			});
		});
	}, 
	
	swffer: function(swf){
		return Asset.javascript('http://www.cisco.com/cdc_content_elements/flash/swfobject/swfobject.js').addEvent('load',function(){
			if($defined(swfobject)){
				swfobject.registerObject(swf,"9.0.0","expressInstall.swf");
			}
		});
	},
	
	dropdown: function(toggle,element){
		return new Hash({ toggle:toggle, element:element, fx: new Fx.Morph(element,{duration:'short'}) });
	}, 
	
	accordion: function(toggles,elements,duration){
		if(!$defined(Accordion)){ return; }
		var self = this;
		toggles.each(function(a,i){
			if(a.get('tag')=="a" && a.get('href') == "#"){ a.set('href','javascript\u003a\u003b'); }
			a.getParent('li').addClass('closed');
			if(i==0){ a.getParent('li').addClass('first'); }
		});
		if(toggles.length > 0){ toggles.getLast().getParent('li').addClass('last'); }
		
		return new Accordion(toggles, elements, {
			opacity: false, 
			show: 0, 
			duration: ($defined(duration))?duration:'normal', 
			onActive: function(t,el){
				t.blur();
				el.getParent().addClass('open').removeClass('closed');
			}, 
			onBackground: function(t,el){
				el.getParent().removeClass('open').addClass('closing');
			}, 
			onComplete: function(){
				$A(this.elements).each(function(el){
					if(el.getParent().hasClass('opening')){
						el.getParent().removeClass('opening').addClass('open');
					} else if(el.getParent().hasClass('closing')){
						el.getParent().removeClass('closing').addClass('closed');
					}
				});
			}
		});
	}, 
	
	resizer: function(elements){
		$A([elements]).each(function(el){
			$(el).setStyle('height','auto').setStyle('height',$(el).getSize().y - $(el).getStyle('padding-top').toInt() - $(el).getStyle('padding-bottom').toInt());
		});
		return;
	}
});

var cmsg = new CMSG();

}