

// match all instances of 'external'
function externalLinks() {
     if (!document.getElementsByTagName) return;
     var anchors = document.getElementsByTagName("a");
     for (var i=0; i<anchors.length; i++) {
          var pattern = /external/i;
          var anchor = anchors[i];
          var relative = anchor.getAttribute("rel");
          if (anchor.getAttribute("href") && pattern.test(relative)) {
               anchor.target = "_blank";
          }
     }
}

document.observe("dom:loaded", function() {
	externalLinks();
});

document.observe("dom:loaded", function() {
    onMouseOutSubmenu();
});

var hideTimeout = null;

function onMouseOverSubmenu() {
	if (!haveSubmenu) {
		return;
	}
    showSubmenu();
}
function onMouseOutSubmenu() {
	if (!haveSubmenu) {
		return;
	}
    if (hideTimeout) {
        clearTimeout(hideTimeout);
    }
    hideTimeout = setTimeout("timeoutSubmenu()", 1000);
}

var isShown = true;
function showSubmenu() {
    if (hideTimeout) {
        clearTimeout(hideTimeout);
    }
    if (isShown) {
        return;
    }
    isShown = true;
    var submenu = $$("#top_menu ul")[0];
    Effect.BlindDown(submenu, {scaleContext: false,  queue: { position: 'end', scope: 'menuscope', limit: 2 }});
}
function hideSubmenu() {
    if (!isShown) {
        return;
    }
    isShown = false;
    var submenu = $$("#top_menu ul")[0];
    Effect.BlindUp(submenu, {scaleContext: false,  queue: { position: 'end', scope: 'menuscope', limit: 2 }});
}
function timeoutSubmenu() {
    hideTimeout = null;
    hideSubmenu();
}

