/**

  *Author: Wilfrie Robert

  *URL: www.wilfriedrobert.be

  *Date: 20 - 04 -2009

  **/

/**

  * HORIZONTAAL MENU
  **/
  
function Browser() {var ua,s,i;
this.isIE=false;
this.isNS=false;
this.version=null;
ua = navigator.userAgent;
s="MSIE";
if((i=ua.indexOf(s))>=0)
{this.isIE=true;
this.version=parseFloat(ua.substr(i + s.length));
return;}
s="Netscape6/";
if((i=ua.indexOf(s))>=0){this.isNS=true;this.version=parseFloat(ua.substr(i+s.length));
return;}
s="Gecko";
if((i=ua.indexOf(s))>=0)
{this.isNS=true;this.version=6.1;
return;}}
var browser=new Browser();
var activeButton=null;
if(browser.isIE)document.onmousedown=pageMousedown;
else document.addEventListener("mousedown",pageMousedown,true);
function pageMousedown(event)
{var el;
if(activeButton==null)return;
if(browser.isIE)el=window.event.srcElement;
else el=(event.target.tagName?event.target:event.target.parentNode);
if(el== activeButton)return;
if(getContainerWith(el,"DIV","menu")==null)
{resetButton(activeButton);activeButton = null;
}}

function buttonClick(event,menuId)
{var button;
if(browser.isIE)button=window.event.srcElement;
else button=event.currentTarget;button.blur();
if(button.menu==null)
{button.menu = document.getElementById(menuId);
if(button.menu.isInitialized==null)menuInit(button.menu);}
if(activeButton!=null)resetButton(activeButton);
if(button!=activeButton)
{depressButton(button);
activeButton = button;}
elseactiveButton=null;
return false;}

function buttonMouseover(event, menuId){var button;
if(browser.isIE)button=window.event.srcElement;else button=event.currentTarget;
if(activeButton!=null&&activeButton!=button)buttonClick(event, menuId);}

function depressButton(button)
{var x,y;button.className+=" WinKnopActive";
x=getPageOffsetLeft(button);
y=getPageOffsetTop(button)+ button.offsetHeight;
if (browser.isIE)
{x+=button.offsetParent.clientLeft;
y+=button.offsetParent.clientTop;}
button.menu.style.left=x+"px";
button.menu.style.top=y+"px";
button.menu.style.visibility="visible";}

function resetButton(button)
{removeClassName(button,"WinKnopActive");
if(button.menu!=null)
{closeSubMenu(button.menu);
button.menu.style.visibility="hidden";}}

function menuMouseover(event){var menu;
if(browser.isIE)menu=getContainerWith(window.event.srcElement,"DIV","menu");
else menu=event.currentTarget;
if(menu.activeItem!=null)closeSubMenu(menu);}

function WinItemMouseover(event,menuId){var item,menu,x,y;
if(browser.isIE)item=getContainerWith(window.event.srcElement,"A","WinItem");
else item=event.currentTarget;
menu=getContainerWith(item,"DIV","menu");
if(menu.activeItem!=null)closeSubMenu(menu);
menu.activeItem=item;
item.className+=" WinItemOplichten";
if(item.subMenu==null)
{item.subMenu=document.getElementById(menuId);
if(item.subMenu.initialized==null)menuInit(item.subMenu);}
x=getPageOffsetLeft(item)+item.offsetWidth;
y=getPageOffsetTop(item);var maxX,maxY;
if(browser.isNS){maxX=window.scrollX+window.innerWidth;
maxY=window.scrollY+window.innerHeight;}
if(browser.isIE){maxX=(document.documentElement.scrollLeft!=0? 
document.documentElement.scrollLeft:document.body.scrollLeft)
+(document.documentElement.clientWidth!=0? 
document.documentElement.clientWidth:document.body.clientWidth);
maxY=(document.documentElement.scrollTop!=0? 
document.documentElement.scrollTop:document.body.scrollTop)
+(document.documentElement.clientHeight!=0? 
document.documentElement.clientHeight:document.body.clientHeight);}
maxX-=item.subMenu.offsetWidth;
maxY-=item.subMenu.offsetHeight;
if(x>maxX)x=Math.max(0,x-item.offsetWidth-item.subMenu.offsetWidth
+(menu.offsetWidth-item.offsetWidth));
y=Math.max(0,Math.min(y, maxY));
item.subMenu.style.left=x+"px";item.subMenu.style.top=y+"px";
item.subMenu.style.visibility="visible";
if(browser.isIE)window.event.cancelBubble=true;else event.stopPropagation();}

function closeSubMenu(menu){if(menu==null||menu.activeItem==null)return;
if(menu.activeItem.subMenu!=null){closeSubMenu(menu.activeItem.subMenu);
menu.activeItem.subMenu.style.visibility="hidden";menu.activeItem.subMenu=null;}
removeClassName(menu.activeItem,"WinItemOplichten");menu.activeItem=null;}

function menuInit(menu){
var itemList,spanList;var textEl,pijltjeEl;var itemWidth;var w,dw;var i,j;
if(browser.isIE){menu.style.lineHeight="2.5ex";
spanList=menu.getElementsByTagName("SPAN");
for(i=0;i< spanList.length; i++)
if(hasClassName(spanList[i],"WinItempijltje")){
spanList[i].style.fontFamily="Webdings";spanList[i].firstChild.nodeValue="4";}}
itemList=menu.getElementsByTagName("A");
if(itemList.length>0)itemWidth=itemList[0].offsetWidth;else return;
for(i=0; i < itemList.length; i++) {
spanList=itemList[i].getElementsByTagName("SPAN")
textEl=null
pijltjeEl = null;
for(j=0; j < spanList.length; j++) {
if(hasClassName(spanList[j],"WinItemText"))textEl=spanList[j];
if(hasClassName(spanList[j],"WinItempijltje"))pijltjeEl=spanList[j];}
if(textEl!=null&&pijltjeEl!=null)
textEl.style.paddingRight=(itemWidth-(textEl.offsetWidth+pijltjeEl.offsetWidth))+"px";}
if (browser.isIE){w=itemList[0].offsetWidth;
itemList[0].style.width=w+"px";dw=itemList[0].offsetWidth-w;w-=dw;
itemList[0].style.width=w+"px";}
menu.initialized=true;}

function getContainerWith(node,tagName,className){
    while(node!=null){
    if(node.tagName!=null&&node.tagName==tagName&&hasClassName(node,className))
    return node;
	node=node.parentNode;
	}
	return node;
	}

function hasClassName(el,name){
    var i,list;list=el.className.split(" ");
    for(i=0;i<list.length;i++)if(list[i]==name)return true;return false;
	}

function removeClassName(el,name){
    var i,curList,newList;
	if(el.className==null)return;
    newList=new Array();
	curList=el.className.split(" ");
    for(i=0;i<curList.length;i++)
    if(curList[i]!=name)newList.push(curList[i]);
	el.className=newList.join(" ");
	}

function getPageOffsetLeft(el){
	var x;x=el.offsetLeft;
    if(el.offsetParent!=null) x+=getPageOffsetLeft(el.offsetParent);
	return x;
	}

function getPageOffsetTop(el){
	var y;y=el.offsetTop;
    if(el.offsetParent!=null)
	y+=getPageOffsetTop(el.offsetParent);
	return y;
	}

/**

  * EINDE HORIZONTAAL MENU
  **/