var externalLinks = 


{


	init: function()


	{


		var extLinks = Core.getElementsByClass("external");





		for( var i = 0; i < extLinks.length; i++)


		{


			extLinks[i].onclick = externalLinks.clickHandler;


		}


	},





	clickHandler: function()


	{


		open(this.href);


		return false;


	}


};





Core.start(externalLinks);


/*
var Tooltips = 



{

	init: function()

	{



		var links = document.getElementsByTagName("a");



		for(var i = 0; i < links.length; i++)

		{



			var title = links[i].getAttribute("title");



			if(title && title.length > 0)



				{

					Core.addEventListener(links[i], "mouseover", Tooltips.showTipListener);

					Core.addEventListener(links[i], "focus", Tooltips.showTipListener);

					Core.addEventListener(links[i], "mouseout", Tooltips.showTipListener);

					Core.addEventListener(links[i], "blur", Tooltips.showTipListener);

				}

		}



	},



	showTip: function(link)

	{

		Tooltips.hideTip(link);



		var tip = document.createElement("span");

		tip.className = "tooltip";

		var tipText = document.createTextNode(link.title);

		tip.appendChild(tipText);

		link.appendChild(tip);



		link._tooltip = tip;

		link.title = "";



		document.documentElement.style.position = "relative";

	},



	hideTip: function(link)

	{

		if(link._tooltip)

		{

			link.title = link._tooltip.childNodes[0].nodeValue;

			link.removeChild(link._tooltip);

			link._tooltip = null;

		

			document.documentElement.style.position = "static";

		}

	},



	showTipListener: function(event)

	{

		Tooltips.showTip(this);

		Core.preventDefault(event);

	},



	hideTipListener: function(event)

	{

		Tooltips.hideTip(this);

	}

};



Core.start(Tooltips);

*/
var Accordion = {
	init: function(){
		var accordions = Core.getElementsByClass("accordion");
		
		for(var i = 0; i < accordions.length; i++){
			var folds = accordions[i].childNodes;
			for(var j = 0; j < folds.length; j++){
				if(folds[j].nodeType == 1){
					Accordion.collapse(folds[j]);
					var foldLinks = folds[j].getElementsByTagName("a");
					var foldTitleLink = foldLinks[0];
					Core.addEventListener(foldTitleLink, "click", Accordion.clickListener);
					
					for(var k = 1; k < foldLinks.length; k++){
						Core.addEventListener(foldLinks[k], "focus", Accordion.focusListener);
					}
				}
			}
			
			if(location.hash.length > 1){
				var activeFold = document.getElementById(location.hash.substring(1));
				if(activeFold && activeFold.parentNode == accordions[i]){
					Accordion.expand(activeFold);
				}
			}
		}
	},
	
	collapse: function(fold){
		Core.removeClass(fold, "expanded");
		Core.addClass(fold, "collapsed");
	},
	
	collapseAll: function(accordion){
		var folds = accordion.childNodes;
		for(var i = 0; i < folds.length; i++){
			if(folds[i].nodeType == 1){
				Accordion.collapse(folds[i]);
			}
		}
	},
	
	expand: function(fold){
		Accordion.collapseAll(fold.parentNode);
		Core.removeClass(fold, "collapsed");
		Core.addClass(fold, "expanded");
	},
	
	clickListener: function(event){
		var fold = this.parentNode.parentNode;
		if(Core.hasClass(fold, "collapsed")){
			Accordion.expand(fold);
		}else{
			Accordion.collapse(fold);
		}
		Core.preventDefault(event);
	},
	
	focusListener: function(event){
		var element = this;
		while(element.parentNode){
			if(element.parentNode.className == "accordion"){
				Accordion.expand(element);
				return;
			}
			element = element.parentNode;
		}
	}
};

Core.start(Accordion);