function externalLinks() {
 if (!document.getElementsByTagName) return;
 var anchors = document.getElementsByTagName("a");
 for (var i=0; i<anchors.length; i++) {
   var anchor = anchors[i];
   if (anchor.getAttribute("href") &&
       anchor.getAttribute("rel") == "external")
     anchor.target = "_blank";
 }
}
Event.observe(window, 'load', externalLinks);

function makeDivsSameHeight(containerId, divClass)
{
	resetDivHeight(containerId, divClass)

  var boxes = document.getElementById(containerId).getElementsByTagName('div');
  //Find the biggest height
  var biggestHeight=0;
  for (var i=0; i<boxes.length; i++)
  {
    if(elementHasClass(boxes[i], divClass))
    {
			if(boxes[i].offsetHeight > biggestHeight)
				biggestHeight=boxes[i].offsetHeight;
    }
  }

  //Set the height
  for (var i=0; i<boxes.length; i++)
  {
    if(elementHasClass(boxes[i], divClass))
			setElementHeight(boxes[i], biggestHeight);
  }
}

function resetDivHeight(containerId, divClass)
{
  var boxes = document.getElementById(containerId).getElementsByTagName('div');
  for (var i=0; i<boxes.length; i++)
  {
    if(elementHasClass(boxes[i], divClass))
			boxes[i].style.height='auto';
  }
}

function setElementHeight(element, height)
{
	element.style.height=height+'px';
}

function elementHasClass(element, className)
{
	return element.className==className
				|| element.className.indexOf(className+' ')!=-1
				|| element.className.indexOf(' '+className)!=-1;
}

function addClassToElement(element, className)
{
	if(!elementHasClass(element, className))
	{
		if(element.className!="")
			element.className+=" "+className;
		else
			element.className=className;
	}
}

function removeClassFromElement(element, className)
{
	element.className = element.className.replace(new RegExp("^((?:.*\\s)?)"+className+"((?:\\s.*)?)$"), "$1$2");
}
