//this function runs when the page is loaded
function init() {
    updateMenu();
    updateExternalLinks();
}

document.getElementsByClassName = function(className, parentElement) {
  var children = ($(parentElement) || document.body).getElementsByTagName('*');
  return $A(children).inject([], function(elements, child) {
    if (child.className.match(new RegExp("(^|\\s)" + className + "(\\s|$)")))
      elements.push(child);
    return elements;
  });
}

function updateMenu() {
	var isJS = /javascript/i;
    //get all the input fields on the page
    menuItems = document.getElementsByClassName('menuitem',document.getElementById('menu'));
    //cycle trough the menuItems fields
    for(var i=0; i < menuItems.length; i++) {
    	//Put an ID on each menuItem
    	menuItems[i].id=i;
    	//Change the appearance
    	menuItems[i].onmouseover=function(){
    					this.className='menuitem_on';
    				}
    	menuItems[i].onmouseout=function(){
    					this.className='menuitem';
    				}
    	links = menuItems[i].getElementsByTagName('a');
		if(links.length){
			var onClickStr = new String(links[0].onclick);
			var hrefStr = new String(links[0].href);
			if(onClickStr.match(isJS)) {
				menuItems[i].onclick=links[0].onclick;
				links[0].onclick=null;
			} else if(hrefStr.match(isJS)){
				menuLinks[i]=links[0].href;
				menuItems[i].onclick=function(){
							var hrefStr = new String(menuLinks[this.id]);
							eval(hrefStr.substr(9).valueOf());
						}
				links[0].href="javascript:void(0);";
			} else{
				menuLinks[i]=links[0].href;
				menuItems[i].onclick=function(){ document.location=menuLinks[this.id]}
				//changing the href on IE is buggy so special treatment for IE
				if (typeof document.body.style.maxHeight != "undefined") {
				  // IE 7, mozilla, safari, opera 9... or some other cool browser
				  links[0].href="javascript:void(0);";
				} else {
				  // IE6, older browsers, do nothing
				}
			}
		}
    }
}

function updateExternalLinks() {
 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";
 }
}

function showHideFAQ(id){
	faq = document.getElementById('faq_'+id);
	if(faq.style.display=='')
		faq.style.display='none';
	else faq.style.display='';
}

/**
* INITIALISATIONS
**/
var menuLinks=Array();
document.getElementsByClassName = function(className, parentElement) {
	var children = parentElement.getElementsByTagName('*');
	var result = Array();
	for(var i=0; i < children.length; i++) {
		if(children[i].className==className) result.push(children[i]);
	}
	return result;
}

window.onload = init;
